我有如下数据格式
3360  2001     5   1750.5   1246.5  22.5  n    1775=1177-1316:1
3360  2001     5   1750.5   1246.5  22.5  n    1778=1177-1316:1
3360  2001     5   1750.5   1246.5  22.5  n    1781=1177-1316:1
3360  2001     5   1750.5   1246.5  22.5  n    1784=1177-1316:1
3360  2001     5   1750.5   1246.5  22.5  n    Type 1 = 1000 V
中间这是空的一行
   3360  2002     5   1749.5   1246.5  20.5  n    1775=1177-1316:1
3360  2002     5   1749.5   1246.5  20.5  n    1778=1177-1316:1
3360  2002     5   1749.5   1246.5  20.5  n    1781=1177-1316:1
3360  2002     5   1749.5   1246.5  20.5  n    1784=1177-1316:1
3360  2002     5   1749.5   1246.5  20.5  n    Type 1 = 1000 V 
中间是空行
3360  2003     5   1748.5   1246.5  19  n    1775=1177-1316:1
3360  2003     5   1748.5   1246.5  19  n    1778=1177-1316:1
3360  2003     5   1748.5   1246.5  19  n    1781=1177-1316:1
3360  2003     5   1748.5   1246.5  19  n    1784=1177-1316:1
3360  2003     5   1748.5   1246.5  19  n    Type 1 = 1000 V



很多这样的数据块

请问,我如何能将每个数据块中的第一行中的如:1775=1177-1316:1中的1775 
                                                                              和1177读出来,
                             每个数据块中的倒数第二行中的如:
     3360  2001     5   1750.5   1246.5  22.5  n    1784=1177-1316:1
    3360  2001     5   1750.5   1246.5  22.5  n    Type 1 = 1000 V
1784   1316读取出来啊?
用fscanf能实现吗?如何实现啊?多谢各位啦

 
1,我想要的是那个位置的数据,之前不知道具体是多少
2,我的想法是先找到
3360  2001     5   1750.5   1246.5  22.5  n    Type 1 = 1000 V

这行,然后使指针回到上一行,这样能找到我想要的行号,(因为每个数据块的行数不定的)但指针如何回到上一行?
3,我的是多个数据块,又如何重复找呀?

 以上问题可以用以下代码解决:
#include <stdio.h>
#include <string.h>
void main()
{
int num1,num2,num3,num4,flag1=;
char line1[]={},line2[]={};
FILE *fp=fopen("data.txt","r");
while (fgets(line1,sizeof(line1),fp))
{
if (strlen(line1)<)
{
flag1=;
}
if (!flag1 && strlen(line1)>)
{
sscanf(line1,"%*d %*d %*d %*f %*f %*f %*c %d=%d-%*d:%*d",&num1,&num2);
printf("num1 = %d num2= %d\n",num1,num2);
flag1=;
}
if (strstr(line1,"Type 1 = 1000 V")!=NULL)
{
sscanf(line2,"%*d %*d %*d %*f %*f %*f %*c %d=%*d-%d:%*d",&num3,&num4);
printf("num3 = %d num4= %d\n",num3,num4);
printf("\n");
}
strcpy(line2,line1);
}
}

关于C语言读取多行数据的问题的更多相关文章

  1. C语言读取文件大量数据到数组

    针对.txt文档的大量有规律数据,譬如100行8列的数据将其读取到二维数组(矩阵)中,留作之后的数据处理. 改程序通过宏定义的方法来确定将要读取程序的行数和列数,将数据读取到二维数组data[100] ...

  2. 不要使用 reader.Peek() 去读取每行数据

    1.问题描述 使用SteamRead的Peek()和ReadLine()来读取流中的数据,如果数据行数太多,会读取不完整(后面有些数据就读不出来了). 比如: while (srResponseRea ...

  3. C++中文件的读取操作,如何读取多行数据,如何一个一个的读取数据

    练习8.1:编写函数.接受一个istream&参数,返回值类型也是istream&.此函数必须从给定流中读取数据,直至遇到文件结束标识时停止. #include <iostrea ...

  4. R语言读取matlab中数据

    1. 在matlab中将数据保存到*.mat 文件夹 save("data.mat","data","label")#将data和label ...

  5. R语言--读取文件(数据输入)

    1 数据的输入 1.1 键盘输入 首先新建一张空表: dat<-data.frame(age=numeric(0),gender=character(0),weight=numeric(0)) ...

  6. ADO.NET笔记——使用Connection连接数据库,使用Command对象的ExecuteReader()方法创建DataReader对象返回多行数据

    使用Connection连接数据库,使用DataReader访问数据库,并返回多行数据. 相关步骤: 需要引入两个命名空间 using System.Data; using System.Data.S ...

  7. Pandas_数据读取与存储数据(全面但不精炼)

    Pandas 读取和存储数据 目录 读取 csv数据 读取 txt数据 存储 csv 和 txt 文件 读取和存储 json数据 读取和存储 excel数据 一道练习题 参考 Numpy基础(全) P ...

  8. Pandas_数据读取与存储数据(精炼)

    # 一,读取 CSV 文件: # 文字解析函数: # pd.read_csv() 从文件中加载带分隔符的数据,默认分隔符为逗号 # pd.read_table() 从文件中加载带分隔符的数据,默认分隔 ...

  9. R语言学习笔记:读取前n行数据

    常规读取 一般我们读取文件时都会读取全部的文件然后再进行操作,因为R是基于内存进行计算的. data <- read.table("C:\\Users\\Hider\\Desktop\ ...

随机推荐

  1. C语言输出格式总结

    转自:http://www.cnblogs.com/scbzljstudy/archive/2011/02/28/1966887.html 1 一般格式    printf(格式控制,输出表列)    ...

  2. Intent实现页面跳转和传值

    *Intent称为意图,是Android各大组件连接的桥梁 1.Activity页面跳转 同一个包内 Intent intent = new Intent(); intent.setClass(Mai ...

  3. Android 设计中的.9.png

    在 Android 的设计过程中,为了适配不同的手机分辨率,图片大多需要拉伸或者压缩,这样就出现了可以任意调整大小的一种图片格式“.9.png”.这种图片是用于Android开发的一种特殊的图片格式, ...

  4. Xamarin Android开发实战(上册)大学霸内部资料

    Xamarin Android开发实战(上册)大学霸内部资料   试读文档下载地址:http://pan.baidu.com/s/1jGEHhhO 密码:vcfm 介绍: 本教程是国内唯一的Xamar ...

  5. XMLHTTPRequest对象

    1.用于在后台与服务器交换数据: 2.XMLHttpRequest对象可以在不向服务器提交整个页面的情况下,实现局部更新网页.当页面全部加载完毕后,客户端通过该对象向服务器请求数据, 服务器端接受数据 ...

  6. 组合数学(全排列)+DFS CSU 1563 Lexicography

    题目传送门 /* 题意:求第K个全排列 组合数学:首先,使用next_permutation 函数会超时,思路应该转变, 摘抄网上的解法如下: 假设第一位是a,不论a是什么数,axxxxxxxx一共有 ...

  7. POJ2778 DNA Sequence(AC自动机+矩阵快速幂)

    题目给m个病毒串,问不包含病毒串的长度n的DNA片段有几个. 感觉这题好神,看了好久的题解. 所有病毒串构造一个AC自动机,这个AC自动机可以看作一张有向图,图上的每个顶点就是Trie树上的结点,每个 ...

  8. C#二进制与字符串之间的相互转换

    1 /// <summary> 2 /// 将字符串转成二进制 3 /// </summary> 4 /// <param name="s">& ...

  9. BZOJ3733 : [Pa2013]Iloczyn

    首先将$n$的约数从小到大排序,设$dfs(x,y,z)$表示当前可以选第$x$个到第$m$个约数,还要选$y$个,之前选的乘积为$z$是否可能. 爆搜的时候,如果从$x$开始最小的$y$个相乘也超过 ...

  10. GSS系列(1)——GSS1&&GSS3

    题意:询问一个区间内的最大连续子段和(GSS1),并且有单点修改的操作(GSS2). 思路:这个题目在老人家的大白鼠里出现过,不过那个是求两个下标,并且相同取更小值.——传的东西更多,判断也稍微繁琐一 ...