gets()
是一個C語言中的函數,用于從輸入流(通常是鍵盤)讀取一行字符串。但是,這個函數存在安全問題,因為它不會檢查緩沖區的大小,可能導致緩沖區溢出。因此,建議使用更安全的 fgets()
函數。
不過,如果你還是想了解如何正確使用 gets()
函數,請參考以下示例:
#include <stdio.h>
int main() {
char str[100]; // 定義一個字符數組作為緩沖區
printf("請輸入一行文本:");
gets(str); // 從輸入流讀取一行字符串到緩沖區
printf("你輸入的內容是:%s", str);
return 0;
}
為了避免緩沖區溢出,請確保輸入的字符串長度不超過緩沖區大小。
然而,由于 gets()
函數的安全問題,建議使用 fgets()
函數替代。fgets()
函數允許指定緩沖區的大小,從而避免緩沖區溢出。以下是使用 fgets()
的示例:
#include <stdio.h>
int main() {
char str[100]; // 定義一個字符數組作為緩沖區
printf("請輸入一行文本:");
fgets(str, sizeof(str), stdin); // 從輸入流讀取一行字符串到緩沖區,并指定緩沖區大小
printf("你輸入的內容是:%s", str);
return 0;
}