c语言问题,是不是fgets和fputs函数无法读取和写入回车字符

如题所述

//用函数fputs写入时,可以通过写入\n或\r\n来写入换行符,但fputs不会自动在字符串的末尾追加换行符。
//函数fgets的原型是:char* fgets(char *str,int num,FILE *stream)。
//用函数fgets读取时,会从给出的文件流stream中读取[num - 1]个字符,
//并把它们转储到str(字符串)中, 但如果在读到[num - 1]个字符之前遇到了第一个换行符,
//会提前结束,并将换行符之前的字符连同这个换行符转储到str(字符串)中。
//下面有例子。
#include<stdio.h>
#include<stdlib.h>
#include<string.h>

int main()
{
char f[]="t.txt",buf[1024]={'\0'};
FILE *io=fopen(f,"w");

fputs("第一行",io);
fputs(",还是第一行\n",io);
fputs("第二行\r\n",io);
fputs("第三行\n",io);
fputs("hello\nworld",io);
fclose(io);
io=fopen(f,"r");
fgets(buf,1024,io);
fclose(io);
puts(buf);
if('\n'==buf[strlen(buf)-1])
{
puts("读到了换行符。");
}
else
{
puts("未读到换行符。");
}
system("PAUSE");
return 0;
}
温馨提示:答案为网友推荐,仅供参考
第1个回答  2017-08-14
写入
\r\n

~
~
~
相似回答