因此,作为一名新实习生,我需要修复其中一些人编写的许多脏代码。这是一个片段,我在弄清楚确切的问题是什么时遇到了一点问题:
for (i=0; i<TOOL_LIMIT; i++)
{
if ( 0 >= fscanf(fp,"%s %s %s %s %s %s %s\n",coreData[i][0],\
coreData[i][1],coreData[i][2],coreData[i][3],coreData[i][4],coreData[i][5], coreData[i][6]))
{
break;
}
totalCases++;
}
fclose(fp);
基本上,fp 会打开一些具有以下正则表达式模式的文件:
data11 data12 data13 data14...data17
data21 data22 data23 data24...data27
...
我觉得这段代码也没有按照预期的方式工作。基本上,它假设读取文件的每一行,并填写数组 coreData,如图所示。我不认为 fscanf 像这里显示的那样工作,但我可能是错的。这段代码是否正常工作?我有一段时间没有用 c 完成文件 io 了。
编辑;; 对不起,应该简要概述一下失败。基本上,C 脚本是一个 cgi 脚本,它接受一些输入(有错误的文件)并将这些文件与 fp 打开的文件中的数据(称为“fp_file”)进行匹配,并生成一个 html 表。如果有错误的文件出现在 fp_file 中,那么它会打印一些额外的信息(如 data12 等),否则会将该表中的条目留空。示例文件 f01 被发现有一个错误,我们现在检查 fp 是否存在“f01”,如果它存在,我们会显示有关该文件的更多信息(作者等)。
我看到的是只有一个文件被正确匹配(fp 的第一行)。除此之外,其余的错误文件都有一个空格。