一、原型是char *fgets(char *s, int n, FILE *stream); 作用是從流中讀取n-1個字符,除非讀完一行,參數s是來接收字符串,如果成功則返回s的指針,否則返回NULL。
形參註釋:*s結果數據的首地址;n-1:一次讀入數據塊的長度,其默認值爲1k,即1024;stream是文件指針 例:如果一個文件的當前位置的文本如下 Love ,I Have 但是,如果用 fgets(str1,4,file1); 則執行後str1="Lov",讀取了4-1=3個字符, 而如果用 fgets(str1,23,file1);則執行str1="Love ,I Have",讀取了一行(包括行尾的'\n',並自動加上字符串結束符'\0')。
二、fgets函數使用指針需要分配內存,或者使用數組。
三、用fgets(str,3,stdin)從屏幕讀取數據時,比如屏幕輸入:MSG 回車
第二次調用fgets(str,3,stdin)時,沒有提示要輸入數據了,原因很簡單:回車以作爲第二次調用結果輸入進去,這樣下次程序肯定出問題了。