gets()
是一個C語言中的標準庫函數,用于從輸入流(通常是鍵盤輸入)讀取一行字符串。這個函數在讀取過程中會一直讀取字符,直到遇到換行符(‘\n’)或者文件結束符(EOF)為止。需要注意的是,gets()
函數不會將換行符包含在讀取的字符串中。
然而,gets()
函數存在一些安全問題,因為它沒有限制輸入字符串的長度,這可能導致緩沖區溢出。因此,在現代的C語言編程中,更推薦使用 fgets()
函數,該函數可以指定讀取的最大字符數,從而避免緩沖區溢出的風險。
gets()
函數的原型如下:
char *gets(char *str);
參數:
str
:指向用于存儲輸入字符串的字符數組的指針。返回值:
示例代碼:
#include<stdio.h>
int main() {
char input[100];
printf("請輸入一行文本:");
gets(input); // 從輸入流讀取一行文本
printf("你輸入的內容是:%s\n", input);
return 0;
}
在這個示例中,gets()
函數從鍵盤輸入讀取一行文本,并將其存儲在名為 input
的字符數組中。然后,程序將讀取到的內容輸出到屏幕上。
總之,gets()
函數是一個用于從輸入流讀取一行字符串的C語言函數。但由于其缺乏安全性,建議在實際編程中使用 fgets()
函數代替。