[英]Reading first N lines from a text file in C
我正在尝试从文件中解析一些结果,并在 C 程序中读取它的前两行。 这是我正在做的事情:
int i=0;
while (fgets(line_string, line_size, fp) != NULL){
if (i==0){
some_variable = ((int) atoi(line_string));
i++;
}
if (i==1){
some_other_variable = ((int) atoi(line_string));
i++;
}
else{
break;
}
}
但问题是line_string一直指向文件的第一行,并且在 while 循环中没有进展。 我究竟做错了什么?
else
分支将在i==0
时执行,因为此时i==1
为假。
您可能还想再添加一个else
。
int i=0;
while (fgets(line_string, line_size, fp) != NULL){
if (i==0){
some_variable = ((int) atoi(line_string));
i++;
}
else if (i==1){ /* add "else" here */
some_other_variable = ((int) atoi(line_string));
i++;
}
else{
break;
}
}
和
if (i==0){
some_variable = ((int) atoi(line_string));
i++;
}
if (i==1){
您将在第一轮中输入两个if
s。 当i
从 0 变为 1 时,您需要一个else
来告诉编译器不要输入第二个if
:
if (i==0){
some_variable = ((int) atoi(line_string));
i++;
}
else if (i==1){
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.