c语言 windows下txt换行是/n /r 俩个字符,但为什么检测不到/r

#define_CRT_SECURE_NO_WARNINGS#include<stdio.h>#include<stdlib.h>voidmain(){FILE*fp=f... #define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<stdlib.h>

void main()
{

FILE *fp = fopen("C:\\Users\\lenovo\\Desktop\\00.txt", "r");
int numf=0;
int numn=0;
int numr = 0;
char ch;
while (( ch = fgetc(fp)) != EOF)
{
if (ch == '\n')
numn++;
else if (ch == '\r')
numr++;
else if (ch == '*')
numf++;
}

printf("*=%d,\\n=%d,\\r=%d", numf,numn,numr);
getchar();
}
展开
 我来答
mntorg
2015-03-26
知道答主
回答量:6
采纳率:0%
帮助的人:3.2万
展开全部
如果没有记错的话,windows的机制是在你使用“r"的时候,系统会将\r\n 转换为\n, 如果采用二进制方式就不会这样了。希望对你会有帮助
追问
二进制方式是指什么
追答
就是使用'rb" 而不是“r"方式打开文件
GetSafeHwnd
2015-03-26 · TA获得超过918个赞
知道大有可为答主
回答量:1068
采纳率:76%
帮助的人:746万
展开全部
请用二进制方式读取文件 不要用文本方式读取
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式