【发布时间】:2019-09-26 18:06:28
【问题描述】:
在我的 C 程序中,我正在逐个字符地查看文件以获取信息。出于某种原因,即使我的代码如下所示,我的数据也会获得 windows 行结束字符。
我尝试了一些方法,例如 temp[0]=='\r\n'
while((temp = fgetc(file)) != EOF)
{
if((temp>=65 && temp<=90) || (temp>=97 && temp<=122) || (temp>=48 && temp<=57) || temp==39){
c[count]=temp;
count++;
}
else
break;
【问题讨论】:
-
"\r\n" 是两个字符。
-
Windows 行终止符是 两个 字符,而不是一个。 (而
'\r\n'是 一个 整数,可能不等于所讨论的两个字符。) -
我建议做
temp >= 'A',其余的也类似。当其他人(包括您在未来某个日期)查看代码时,这将使您的代码的意图更加清晰。 -
windows 行尾如何影响代码的结果?在大多数情况下,这无关紧要。
-
提示:不要使用幻数:
65->'A',90->'Z'等
标签: c windows newline carriage-return