gpt4 book ai didi

计算数据文件中的行数

转载 作者:行者123 更新时间:2023-11-30 15:34:32 26 4
gpt4 key购买 nike

在此代码片段中,我尝试计算文件中包含的行数。数据分为 7 列、421 行。然而,输出的总数返回为 422,即多行计数。为什么?我怎样才能避免这个问题?

我知道使用 while (!Feof (inStr)) 指令是错误的,但我被明确要求使用它。

int valid = 0;

[...]

while(!feof(inStr)){
fscanf(inStr," %c %f %f %f %f %f %d",&app1, &app2, &app3, &app4, &app5, &app6,&app7);
valid++;
}
printf("%d",valid);

最佳答案

问题是,您需要在尝试 fscanf 之后、但在增加行计数器之前立即执行 feof 检查。否则,您将为eof增加它。

while(1){
fscanf(inStr," %c %f %f %f %f %f %d",&app1, &app2, &app3, &app4, &app5, &app6,&app7);
if (feof(inStr)) break;
valid++;
}
printf("%d",valid);

当然,您也可以按照 Martin James 的建议,从结果中减去 1。

关于计算数据文件中的行数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23240142/

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