行输入输出
标准库行数提供一个输入函数;
char *fgets(char *line,int maxline,FILE *fp);
函数从fp指向的文件中读取下一个输入行(包括换行符),并将其存在字符数组line中,最多可以读取maxline-1个字符。读取的行将以‘\0’结尾保存到数组中。
输出函数fputs将一个字符串写入到一个文件中:
int fputs(char *line,FILE *fp);
库行数gets与puts与fgets以及fputs类似,但是是对stdin和stdout进行操作。有一点需要注意gets函数在读取字符串时,删除结尾的换行符。fgets则包括换行符。fputs将字符串写入文件,不需要包含换行符。puts则会在 写入字符串时在结尾添加一个换行符。
实现fgets函数
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;
}