/ * fgets: get at most n chars from iop */
char * fgets(char * s, int n, FILE * iop)
{
register int c;
register char * cs;
cs = s;
while (-n > 0 && (c = getc(iop)) != EOF)
if ((* cs++ = c) == ′\n′)
break;
*cs = ′\0′;
return (c == EOF && cs == s) ? NULL : s;
}
取悅我的問題是,爲什麼CS ==秒,在return語句。因爲fgets應該返回NULL,如果文件結束或發生錯誤,爲什麼不是return語句只是返回(c == EOF)? NULL:s;與fgets C標準庫函數
GETC,也是C標準庫函數,即讀入一個字符,在從文件IOP點的時間。函數fgets從文件iop指向的位置讀取一行,如果成功則返回讀取的行,存儲在字符數組s中。返回NULL,如果文件的末尾遇到或出現錯誤
歡呼
GETC,也是C標準庫函數,即讀入一個字符,在從文件IOP點的時間。函數fgets從文件iop指向的位置讀取一行,如果成功則返回讀取的行,存儲在字符數組s中。返回NULL,如果文件的末端遇到,或發生錯誤 – Evan