字符串函數(shù)(二)
1.標(biāo)準(zhǔn)庫中fgets ()和 fputs ()的實現(xiàn)基本算法
// fgets ()函數(shù):從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 函數(shù):將字符串s輸出到iop指向的文件中
int fputs (char *s, FILE *iop)
{
int c;
while (c = *s++)
{
putc (c, iop);
}
return ferror(iop) ? EOF : 非負(fù)值;
}