在較新的C標準中,gets()
函數已經被廢棄,不再建議使用,因為它存在安全性問題(緩沖區溢出)。取而代之的是使用fgets()
函數來讀取字符串。fgets()
函數可以指定讀取的最大字符數,避免了緩沖區溢出的風險。
下面是一個示例代碼,用fgets()
函數替代gets()
函數來獲取用戶輸入的字符串:
#include <stdio.h>
int main() {
char str[100]; // 聲明一個足夠大的字符數組來存儲輸入的字符串
printf("請輸入字符串:");
fgets(str, sizeof(str), stdin); // 使用fgets()函數讀取字符串
printf("您輸入的字符串是:%s", str);
return 0;
}
這樣可以避免使用被廢棄的gets()
函數,同時增加了代碼的安全性。