gpt4 book ai didi

C 编程 getc 和 while 循环行为

转载 作者:太空宇宙 更新时间:2023-11-04 03:51:56 26 4
gpt4 key购买 nike

我正在尝试使用 FILE *fp, fgets 读取文件

 while( (ch=getc(fp)) != '\n' ){
printf("%d\n",ch);
}

奇怪的是,这段代码还打印了换行符。如果没有检测到“\n”,while 循环不是说要打印吗?我该怎么做才能不打印“\n”。谢谢

最佳答案

如果要从文件中读取数据以进行字符串处理(文本文件),请确保文件以文本 模式打开。

在使用 "\n" 以外的东西来指示行尾的系统上以文本模式打开的文件,如 "\r\n""\n\r""\r 会将其转换为 "\n"。有关字节顺序标记的其他处理也可能发生(BOM 或文件结尾字符 (^Z)。

FILE *fp;
fp = fopen("fielanme", "r");

OTOH,如果 open 想要以二进制形式打开文件,请为不同的行结尾做好准备。

FILE *fp;
fp = fopen("fielanme", "rb");

关于C 编程 getc 和 while 循环行为,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20020867/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com