直升机,
if('\t' == input [0] ||'\v' == input [0] ||'\r' == input [0] ||'\n' == input [0] || '\0' == input[0] || '' == input[0])
输入是字符数组:)
这是我检查文件中的空行的代码行,但它从不拾取例如空行..
我的代码读取 8 位十六进制值,我想在其无效(已排序)或有空行、带有空格或 EOF 的行时终止。
如果我的文件是这样的,它可以工作...... 11111111 11111111
^在空行上有一个空格,但如果没有空格,它就会进入一个无限循环,这很烦人。
#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);
}