字符串函數(二)
1.標準庫中fgets ()和 fputs ()的實現基本算法
// fgets ()函數:從iop指向的文件中最多讀取n-1個字符,再加上一個NULL
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;
}
// fputs 函數:將字符串s輸出到iop指向的文件中
int fputs (char *s, FILE *iop)
{
int c;
while (c = *s++)
{
putc (c, iop);
}
return ferror(iop) ? EOF : 非負值;
}