gpt4 book ai didi

C 文件读取,空白/空行

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

你好,

  if('\t' == input [0] ||'\v' == input [0] ||'\r' == input [0] ||'\n' == input [0] || '\0' == input[0] || '' == input[0])

输入是字符数组:)

这是我在文件中检查空行的代码行,但它从来没有选择空行,例如..

我的代码读取 8 位十六进制值,我想在其无效(已排序)或有空行、带有空格或 EOF 的行时终止。

如果我的文件是这样的,它就可以工作...1111111111111111

^在空行上有一个空格但如果没有空间,它就会进入一个无限循环,这非常烦人。

#define MAXIN 4096 
static char input[MAXIN];
char last;
/*Reading the current line */
fgets(input, MAXIN, f);;
if (input[8] == '\r') input[8] = '\0';
/* First of all check if it was a blank line, i.e. just a '\n' input...*/
if('\t' == input [0] ||'\v' == input [0] ||'\r' == input [0] ||'\n' == input [0] || '\0' == input[0] || '' == input[0])
{printf("##EMPTY");return(INERR);}
if ('\n' == input[0]) return(INERR);

if ((sscanf(input,"%8x%c",&result,&last) < 2)) return(INERR);
if ('\n' != last) return(INERR);
}

最佳答案

您需要检查fgets 的返回值。此函数返回 NULL 以表示“文件结束”。简单地说,试试这个:

if (!fgets(input, MAXIN, f))
return INERR;

关于C 文件读取,空白/空行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9343067/

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