我有一个可能相当简单的问题。我有一个文件 input.txt,它是:
cat input.txt
testsuite1
test1
summary information of test
FAIL
testsuite2
test1
summary info ya
PASS
我正在编写一个程序,只是为了将这些字符串中的每一个读入变量并进行进一步处理。最好的方法是什么?我目前正在做:
main() {
FILE *fp;
char testsuite[100],testname[100],summary[100],result[100];
fp = fopen("input.txt", "r");
while(1) {
if(fgets(testsuite,99,fp) == NULL)
{
ferror(fp);
break;
}
if(fgets(testname,99,fp) == NULL)
{
ferror(fp);
break;
}
if(fgets(summary,99,fp) == NULL)
{
ferror(fp);
break;
}
if(fgets(result,99,fp) == NULL)
{
ferror(fp);
break;
}
printf("testsuite: %s testname:%s summary:%s result:%s \n",testsuite,testname,summary,result);
}
fclose(fp);
}
有更好的方法吗?我目前面临的问题是,如果 input.txt 甚至包含一个空白行,则空白行会被读入变量。避免它的最佳方法是什么?
谢谢!