[轉貼]Linux C function()參考手冊
標頭檔:
stdio.h
函數:
char *fgets ( char * str, int num, FILE * stream );
函數說明:
fgets()用來從參數stream所指的文件內讀入字符並存到參數s所指的內存空間,直到出現換行字符、讀到文件尾或是已讀了size-1個字符為止,最後會加上NULL作為字符串結束。
返回值:
fgets()若成功則返回s指針,返回NULL則表示有錯誤發生。
代替scanf():
fgets(buf, sizeof(buf), stdin);
[轉貼]海賊的藏寶處
C-fgets 與 scanf 差別
scanf fgets
字串以外變數 o x
一次多組字串 o x
中間有讀空白 x o
字串後加 '\n' x o
限制輸入長度 x o
傳回值 欄數 字串/NULL
被建議停用 o x
注意:
1. fgets 自動加了 '\n' 在最後面!
2. buf[strlen(buf)-1] = '\0'; //這是將fgets所抓到的\n給去掉
[轉貼]Yu-Min Space
C Function - fgetc、fgets讀取整個檔案內容
fgetc:傳回所讀到的字元,傳回值如果是 EOF,可能是有錯誤發生或是檔案終止(end-of-file),所以應該利用 feof 或是 ferror 來判定錯誤發生或是檔案終止。
while((ch=fgetc(fp))!=EOF)
fputc(ch,stdout);
fgets: 傳回所讀到的字串,傳回值如果是 NULL,可能是有錯誤發生或是檔案終止(end-of-file),所以應該利用 feof 或是 ferror 來判定錯誤發生或是檔案終止。
while(!feof(fp))
if(fgets(str,128,fp)!=NULL)
printf("%s",str);
沒有留言:
張貼留言