/ * 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 == sの私の質問は、return文では、してください。 fgetsはファイルの終わりやエラーが発生した場合にNULLを返すことになっているので、return文が返されないのはなぜですか(c == EOF)? NULL:s;fgetsのC標準ライブラリ関数
getcはまた、ファイルiopがポイントする文字を一度に読み取るc標準ライブラリ関数です。関数fgetsは、ファイルiopが指し示す行を読み込み、文字列sに格納されている行の読み込みが成功すれば、それを返します。ファイルの終わりに遭遇した、またはエラーが
getcはまた、ファイルiopがポイントする文字を一度に読み取るc標準ライブラリ関数です。関数fgetsは、ファイルiopが指し示す行を読み込み、文字列sに格納されている行の読み込みが成功すれば、それを返します。ファイルの終わりが見つかった場合、またはエラーが発生した場合はNULLを返します。 – Evan