c - 每次进入循环时,如何从文本文件中读取下一行?
问题描述
我已经编写了这个程序,我希望每次进入 while 循环时都从我的文本文件中读取下一行,而不是前几行。到目前为止,这个带有 fscanf 的代码在列表中插入了我想要的元素之前的所有元素。我的文本文件每行有 4 个元素,我也不想将其全部作为字符串读取。例如,如果第 1 行的元素已进入列表,则下一次在循环中我想从第 2 行开始,而不是再次读取第 1 行等。
for(Time=0.0;Time<200;Time=Time+12.0) {
for(i=5;i<8;i++){
char to_open[32];
snprintf(to_open,32, "fptg_%d.txt", i);
printf("i=%d\n", i);
if ((fr = fopen(to_open, "r")) == NULL)
{
break;
}else{
fscanf(fr, "%d %d %d %lf",&rollnumber, &src, &dest, &gentime);
while(gentime<Time){
if (insertedpackets[i]<10){
printf ("-------------TIMESLOT-------------\n");
printf("time: %.1f\n",Time);
fscanf(fr, "%d %d %d %lf\n",&rollnumber, &src, &dest, &gentime);
insert(rollnumber,src,dest,gentime);
insertedpackets[i]++;
printf("insertedpackets[%d]:%d\n\n", i, insertedpackets[i]);
printf ("----------list till now-----------\n");
display();
printf ("----------------------------------\n\n\n\n");
}
else if (insertedpackets[i]>=10)
{
break;
}
}
解决方案
推荐阅读
- java - Spring Boot、Gradle 和 Visual Studio Code - Gradle bootRun 任务无法正常工作
- java - 如何在 Java 中处理大型数据库表而不会遇到性能问题
- php - Yii2:如何转换 JSON PHP 数组的数据类型值?
- oracle - JPA Criteria API - 使用 ORACLE 将日期添加到 DATE
- javascript - mongoose.connect(), first argument should be String, received undefined
- sql - 更改跟踪以显示值之前和之后
- ethereum - 在 Remix IDE 中部署合约后,Solidity 函数返回 0x00000 的管理器地址
- php - restrict users directly redirecting to another page by editing url
- node.js - mongoose 中的模块导出
- javascript - Cannot read property 'find' of undefined in Angular