Linux下gets函式警告

2021-09-01 07:52:34 字數 621 閱讀 5083

由於linux下的gcc編譯器不支援gets函式,程式編譯過後會出現乙個警告,即:「warning: the `gets' function is dangerous and should not be used.」

此時,可以用fgets函式代替,函式在標頭檔案stdio.h中,函式原型:char *fgets(char *buf, int bufsize, file *stream),即從檔案結構體指標stream(鍵盤輸入stdin)中讀取資料,每次讀一行,讀取的資料儲存在buf指向的字元陣列中,每次最多讀bufsize-1個字元(第bufsize個字元賦'\0'),多退少不補。但是緩衝區總是以null字元結尾,對fgets的下次呼叫會繼續讀該行。

ps:fgets函式會讀取'\n'(gets不會),因此有時要將最後的回車符換成\0,否則會有差錯。

1 #include

2 3 int main()

4 16         else if (word==0)

17        

21     }

22     printf("there are %d words in the line.\n", num-1);

23 24     return 0;

25 }

解決Linux下gets函式警告

由於linux下沒有gets函式,所以提示函式警告 用fgets代替就行了。函式算在標頭檔案 include 函式原型 int fgetc file stream char fgets char s,int size,file stream int getc file stream int getc...

C scanf和gets函式警告

寫在前面的話 博主是乙個小菜鳥,並且非常玻璃心!如果文中有什麼問題,請友好地指出來,博主查證後會進行更正,啾咪 每篇文章都是博主現階段的理解,如果理解的更深入的話,博主會不定時更新文章。在c語言中,字元陣列的輸入有兩種方法 逐個字元輸入 一次性輸入整個字串 使用 c,例如 for i 0 i 10 ...

linux 下gets函式編譯出錯問題

main.c 29 5 warning implicit declaration offunction gets wimplicit function declaration gets buffer warning the gets function is dangerous and should ...