在C語言中,gets()
函數(shù)用于從標(biāo)準(zhǔn)輸入讀取一行字符串,直到遇到換行符為止。它的原型在stdio.h
頭文件中定義如下:
char *gets(char *str);
參數(shù)str
是一個(gè)指向字符數(shù)組的指針,用于存儲讀取的字符串。gets()
函數(shù)會(huì)從標(biāo)準(zhǔn)輸入讀取字符直到遇到換行符(包括換行符在內(nèi)),然后將讀取的字符存儲到str
指向的字符數(shù)組中,最后在字符串的末尾添加一個(gè)空字符(‘\0’)。
需要注意的是,gets()
函數(shù)存在安全性問題,因?yàn)樗鼰o法限制輸入的字符數(shù)目,可能導(dǎo)致緩沖區(qū)溢出。因此,不建議在實(shí)際的代碼中使用gets()
函數(shù),可以使用fgets()
函數(shù)代替。
fgets(str, sizeof(str), stdin);
fgets()
函數(shù)可以指定最大讀取字符數(shù)目,從而避免緩沖區(qū)溢出的問題。