c - 从C中的文本文件中读取前N行
问题描述
我正在尝试解析文件中的一些结果,并在 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;
}
}
推荐阅读
- sql - 多个日期/ ID 的 Redshift Min Window 函数
- javascript - jQueryUI 可拖动图像在正文元素中使用新行滚动
- firebase - 如何阻止用户写入 Firebase 数据库?在不更改以下所有其他规则的情况下
- java - 如何使用 Java Panama 在本机内存中存储对象数组
- python - 即使我想打印所有文件,也只打印文件夹中第一个文件的内容
- javascript - 在地图功能中渲染 Firebase 数据
- javascript - 我应该为这些任务使用什么模式?
- gpu - Onnxruntime 与 PyTorch
- javascript - 如果在 Angular 中使用 ng-multiselect-dropdown 搜索过滤器未找到搜索项,则显示消息
- sql - 根据输入获取更多 SELECT 数据