我正在尝试使用文件*fp,fget读取一个文件
while( (ch=getc(fp)) != '\n' ){
printf("%d\n",ch);
}奇怪的是,这个代码还打印换行符。如果没有检测到"\n“,while循环不是要打印吗?我怎么能做到这样它就不会打印"\n“。谢谢
发布于 2013-11-16 19:15:04
如果要从文件中读取以进行字符串处理(文本文件),请确保以文本模式打开该文件。
在使用"\n"以外的东西来指示行尾的系统上以文本模式打开的文件(如"\r\n"、"\n\r"或"\r )会将其转换为"\n"。其他处理也可能发生与字节顺序标记(BOM或文件结束字符(^Z) )有关.
FILE *fp;
fp = fopen("fielanme", "r"); OTOH,如果OTOH想要以二进制方式打开文件,请为不同的行尾做好准备。
FILE *fp;
fp = fopen("fielanme", "rb"); https://stackoverflow.com/questions/20020867
复制相似问题