c语言里,怎么确认txt换行?还是\n嘛?

如题所述

windows \r\n
linux \n
mac \r
如果你准备自己用fgets读入文件,那么需要做上述检查,并根据自己的需求将\r和\n替换为\0追问

看下补充。。怎么还是0?

追答

补充在哪?

追问

#include
#include
int main()
{
int n=0;
char *loc;
char a[230];
FILE*fp;
fp=fopen("1.txt","r");
fgets(a,50,fp);
a[50]='\0';
loc=a;
while(*loc)
{
if(*loc=='\n'&&*loc+1=='\r')
n++;

loc++;
}
printf("%d",n);
return 0;
}

追答

你这个有些问题。
申明了230长度为什么只用50?
如果想修改第50个字符为结束,下标为49
你的判断条件\r在\n后,没有满足这样的,所以n++从未执行
如果想实现类似strlen,那么n++应该在整个判断block下面,判断block也要做修改。你可以再想想

温馨提示:答案为网友推荐,仅供参考
第1个回答  2012-12-29
嗯。应该是这个。。追问

看下补充。。怎么还是0?

相似回答