现在有一个txt文件,有有多列数据···我只想读取其中两列····用C语言如何实现??求高手解答···

如题所述

上面回答的fgets 是有点问题的:例如:
第一行: xx yy zz 用fgets应该只能读出xx,所以,最好还是用算法保证读取到完整一行,即判断是否读到了'\n'换行符,利用fread读,同时用fseek来定位读取地点:例如:(只是举个例,不保证调试通过哈,懒得去调试)

int offsetBegin=0;
int length=0;

char tmp='a';

while(tmp!=EOF)
{
tmp=fgetchar();// 不停取字符,判断是否是换行符

length++;//取一个字符就长度加1

while(tmp=='\n')//如果是换行符,说明一行到了。
{
fseek(fd,offsetBegin,0);//定位到行首
fread(fd,buf,length,xxxxxx);//读取一行
length=0;//为下次计算一行长度做准备

}

}

如果你知道要读第几行,在里面再加一个变量 low=5,那么每次读出一行后,将countlow++,判断其是否等于low来判断是否是你需要的那一行,如果不是,则不需要fread和fseek,将length=0并直接跳过,开始下行
温馨提示:内容为网友见解,仅供参考
第1个回答  2013-01-07
那要看你读取哪两句
fgets(all,1000,fp);
这是读取一行数据的格式,读取到all数组中
如果你要读取文件后面几行的数据就多fgets一下,知道读取到你想要读取那里

现在有一个txt文件,有有多列数据···我只想读取其中两列···用...
第一行: xx yy zz 用fgets应该只能读出xx,所以,最好还是用算法保证读取到完整一行,即判断是否读到了'\\n'换行符,利用fread读,同时用fseek来定位读取地点:例如:(只是举个例,不保证调试通过哈,懒得去调试)int offsetBegin=0;int length=0;char tmp='a';while(tmp!=EOF){...

如何在matlab中读取TXT数据文件
只读形式打开txt文件 file_t = fopen('mytxt.txt','r');以十进制读取,且读取的数据自动排成一列,排的顺序为:先从第一行左边到第一行右边,然后排第二行 A = fscanf(file_t,'%d');关闭文件 fclose(file_t);使用textscan读取多列数据 file_t = fopen('mytxt.txt','r');将原来的两列...

使用python编程,实现对txt文件中每行内容进行追加。
si.strip())[-1] for si in s.split('\\n')] lst.append(lst1)#lst是一个二维数组,每个文件的最后一列作为一个一维数组存在里面#然后找出最长列的长度lmax,其他比它短的数据列,

C# combox 可不可以绑定多列
可以,你把查询出来的2列的值没在数据集里合并,然后绑到combox就行

c# 循环向listview中写入多列数据的问题,急求解决
Read);StreamReader sr = new StreamReader(fs, Encoding.Default);List<string> _coorLines = new List<string>();lstShow.Clear();lstShow.BeginUpdate();while (sr.Peek() != -1){_coorLines.Add(sr.ReadLine());string[] strCoor = _coorLines[index].Split(new char[] { ','...

excel中如何进行多列数据同时筛选
在EXCEL中,可以同时设置两列或以上的筛选数据方式有两种:自动筛选和高级筛选。第一种:自动筛选 自动筛选操作很简单,只要选择需要筛选的数据,然后点“数据”-“筛选”,这样子每个数据的字段标题上面都会出现一个小的三角件箭头,点击下拉可对数据进行筛选。如下图:图1:选择“数据”-“筛选”图2:...

Linux下的列合并实现linux合并两列
1、准备以下3个文件:a.txt,b.txt和c.txt 其中a.txt文件包括一列条目,比如:Apples Beans Chips b.txt文件包括另一列,比如:Blue Yellow Green finally c.txt文件用来存放合并后的内容。2、输入cat命令 cat命令可以用来把多个文件的内容合并到一个文件中。若要将a.txt和b.txt文件合并到c.txt...

matlab怎么读入一个txt文件
我这里有一个读取的实例你可以看一下 格式化文本的读操作%只读形式打开txt文件file_t = fopen('mytxt.txt','r');%以十进制读取,且读取的数据自动排成一列,排的顺序为:先从第一行左边到第一行右边,然后排第二行A = fscanf(file_t,'%d');%关闭文件fclose(file_t);使用textscan读取多列...

如何从多个Excel表中提取部分相同的数据生成单一的一个Excel文件
1、第一步, sheet1的A列和sheet2的A列具有相同的数据。可以通过编写vba代码用相同的数据填充sheet3的A列,如下图所示,然后进入下一步。2、其次,完成上述步骤后,单击菜单栏中的[文件]选项,然后在下拉菜单中选择[另存为]选项,如下图所示,然后进入下一步。3、接着,完成上述步骤后,选择[...

从串口调试助手保存的txt文件,数据导入到excel里是八位的,我传的是十 ...
那,就16位一截取,然后放到Excel的单元格里 可以用VBa编程实现。

相似回答