关于C语言读取多行数据的问题
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能实现吗?如何实现啊?多谢各位啦
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语言读取多行数据的问题的更多相关文章
- C语言读取文件大量数据到数组
针对.txt文档的大量有规律数据,譬如100行8列的数据将其读取到二维数组(矩阵)中,留作之后的数据处理. 改程序通过宏定义的方法来确定将要读取程序的行数和列数,将数据读取到二维数组data[100] ...
- 不要使用 reader.Peek() 去读取每行数据
1.问题描述 使用SteamRead的Peek()和ReadLine()来读取流中的数据,如果数据行数太多,会读取不完整(后面有些数据就读不出来了). 比如: while (srResponseRea ...
- C++中文件的读取操作,如何读取多行数据,如何一个一个的读取数据
练习8.1:编写函数.接受一个istream&参数,返回值类型也是istream&.此函数必须从给定流中读取数据,直至遇到文件结束标识时停止. #include <iostrea ...
- R语言读取matlab中数据
1. 在matlab中将数据保存到*.mat 文件夹 save("data.mat","data","label")#将data和label ...
- R语言--读取文件(数据输入)
1 数据的输入 1.1 键盘输入 首先新建一张空表: dat<-data.frame(age=numeric(0),gender=character(0),weight=numeric(0)) ...
- ADO.NET笔记——使用Connection连接数据库,使用Command对象的ExecuteReader()方法创建DataReader对象返回多行数据
使用Connection连接数据库,使用DataReader访问数据库,并返回多行数据. 相关步骤: 需要引入两个命名空间 using System.Data; using System.Data.S ...
- Pandas_数据读取与存储数据(全面但不精炼)
Pandas 读取和存储数据 目录 读取 csv数据 读取 txt数据 存储 csv 和 txt 文件 读取和存储 json数据 读取和存储 excel数据 一道练习题 参考 Numpy基础(全) P ...
- Pandas_数据读取与存储数据(精炼)
# 一,读取 CSV 文件: # 文字解析函数: # pd.read_csv() 从文件中加载带分隔符的数据,默认分隔符为逗号 # pd.read_table() 从文件中加载带分隔符的数据,默认分隔 ...
- R语言学习笔记:读取前n行数据
常规读取 一般我们读取文件时都会读取全部的文件然后再进行操作,因为R是基于内存进行计算的. data <- read.table("C:\\Users\\Hider\\Desktop\ ...
随机推荐
- android 制作自定义标题栏
1.在AndroidManifest.xml设置主题 android:theme="@android:style/Theme.NoTitleBar.Fullscreen" 2.在l ...
- Android Bitmap详细介绍
package com.testbitmapscale; import java.io.File; import java.io.FileInputStream; import java.io.Fil ...
- aggregateByKey
def seq(a:Int, b:Int) : Int ={ math.max(a,b) } def comb(a:Int, b:Int) : Int ={ a + b } val data = sc ...
- Spring的profile属性
使用示例 //注解方式 public class DataSourceConfig { @Bean @Profile("prod") public DataSource dataS ...
- http://blog.csdn.net/shangboerds/article/details/44175667
http://blog.csdn.net/shangboerds/article/details/44175667
- HDU4057 Rescue the Rabbit(AC自动机+状压DP)
题目大概是给几个DNA片段以及它们各自的权值,如果一个DNA包含某个片段那么它的价值就加上这个片段的权值,同时包含多个相同DNA片段也只加一次,问长度l的DNA可能的最大价值. 与HDU2825大同小 ...
- android 蓝牙设备监听广播
蓝牙权限 <uses-permission android:name="android.permission.BLUETOOTH" /> 1.监听手机本身蓝牙状态的广播 ...
- POJ 1523 (割点+连通分量)
题目链接:http://poj.org/problem?id=1523 题目大意:连通图,找图中割点,并计算切除该割点后,图中的连通分量个数. 解题思路: POJ的数据很弱. Tarjan法求割点. ...
- KMP算法(转载)
转载http://blog.csdn.net/yutianzuijin/article/details/11954939 kmp算法又称“看毛片”算法,是一个效率非常高的字符串匹配算法.不过由于其难以 ...
- 【BZOJ】1074: [SCOI2007]折纸origami
http://www.lydsy.com/JudgeOnline/problem.php?id=1074 题意:一开始有一个左上角是(0,100),右下角是(100,0)的纸片,现在可以沿有向直线折n ...