社区
C语言
帖子详情
请问 如何读取每行第二个数据? 如何实现这样的要求?
bborn
2005-07-26 09:00:23
数据格式是这样的
data1,data2,........
....................
数据是用逗号隔开的
每行的个数不知道 但是是统一的
如何按要求读入每行 特定列的数据?
...全文
246
21
打赏
收藏
请问 如何读取每行第二个数据? 如何实现这样的要求?
数据格式是这样的 data1,data2,........ .................... 数据是用逗号隔开的 每行的个数不知道 但是是统一的 如何按要求读入每行 特定列的数据?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
21 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
hjf1010
2005-07-29
打赏
举报
回复
写错了,fscanf(fp,"%d",buf);应该是fscanf(fp,"%s",buf);
粗心大意!!!!!
hjf1010
2005-07-29
打赏
举报
回复
楼主还没有确定使用那种方案吗??
昨天特意试验了一下.
在文本文件中,数字和字符都可以读为字符串,比如
fscanf(fp,"%d",buf);可以将一行读到缓冲区中,遇到"\n"结束,但是不把"\n"读到字符串中;
但是也可以使用fscanf进行格式化读取,楼主不是想读第一个逗号后第二个逗号前的数据码
用fscanf(fp,"%d,%d,%s\n",&iTmp,&num,buf);可以实现对每行的格式化读取,num就是需要的数据,第二个逗号后的所有东西读到缓冲区中.
fgets可以实现和fscanf相似的功能,不同点,fgets可以控制每次读取的字符数,遇到"\n"也结束,但是把"\n"也读到缓冲区.
综上所述,如果文档是格式化比较好的用fscanf完全可以满足楼主的要求
bborn
2005-07-29
打赏
举报
回复
加80分结贴
bborn
2005-07-29
打赏
举报
回复
谢谢楼上各位 尤其是 黑色狂人 我看到那个帖子你的程序了
我试一下 弄好了就揭帖
bborn
2005-07-28
打赏
举报
回复
问题是我不是甲方
LoveYouJustOneDay
2005-07-28
打赏
举报
回复
气死人啊
这么简单的东西
#include <stdio.h>
#include <stdlib.h>
int main(int argc, char *argv[])
{
FILE *fp;
char sd[1000], *p, *q;
int data[100], index=0, i;
fp=fopen("test.txt", "r");
while( fgets(sd, 1000, fp) )
{
p=sd;
while(*p++ != ',');
q=p;
while( (*q != ',') && (*q != '\0') ) q++;
*q = '\0';
sscanf(p, "%d", &data[index++]);
}
fclose(fp);
for(i=0; i<index; i++)
printf("%d ", data[i]);
system("PAUSE");
return 0;
}
test.txt
1,15,16,17
1,1
1,2,3
4,5,6,7,8
45,46
101,102,103
如果数据是字符串
sscanf( )里的 %d 用 %s
data[i]用指针
char *data[100];
data[i] 根据 字符串的长度动态分配
sjw7474235
2005-07-28
打赏
举报
回复
你可以在写文本时候给每个数据规定长度。读取的时候不就简单了吗。。
我用vb实现过。当时不会数据库只能用这个方法来存取数据。
bborn
2005-07-28
打赏
举报
回复
还是不行 再等几天
ken0426
2005-07-26
打赏
举报
回复
楼主说的应该是CSV格式吧!
zyfire88
2005-07-26
打赏
举报
回复
楼主的数据是放哪的,说清楚一点啊
login__whf
2005-07-26
打赏
举报
回复
up
megaboy
2005-07-26
打赏
举报
回复
楼主的数据很可能不是字符形式存储的,假设都是int数据,可以用:
fscanf("%d,",&data[0]);来读取。
csjOscar_boco
2005-07-26
打赏
举报
回复
char ch;
char temp[20];
打开文件
while(不是文件尾){
while (读取字符ch不是','){
指向下一个字符;
}
i=0;
while (读取字符ch不是',')
{
temp[i]=ch;
i++;
}
temp[i]='\0';
判断回车到下一行;
}
代码自己写,很简单
hjf1010
2005-07-26
打赏
举报
回复
以下是算法:
先用fgets()读取一行到一个数组
再用strstr()找到第一个','
用一个指针ptr指向这个逗号后一位,再以这个指针ptr及strstr()找到','
读取ptr指向的、逗号之前的字符
循环,依次类推,得到所有行
ywchen2000
2005-07-26
打赏
举报
回复
写个split函数
WecanHuang
2005-07-26
打赏
举报
回复
那就找逗号,记录逗号的个数和位置
PMsg
2005-07-26
打赏
举报
回复
原数据存储在哪?文件里还是数组
要是数组就比较简单了 2D数组
for(i=0;i<n;i++)
xx[i][2] //i行的第2个
LoveYouJustOneDay
2005-07-26
打赏
举报
回复
如果data不是字符串
fgets读入一行到内存
sscanf( )一下
把第一个数据用一个临时变量吸收掉就好了
yyy790601
2005-07-26
打赏
举报
回复
每行数据个数不固定,怎么fscanf?
我同意楼上前面这个说法:
以下是算法:
先用fgets()读取一行到一个数组
再用strstr()找到第一个','
用一个指针ptr指向这个逗号后一位,再以这个指针ptr及strstr()找到','
读取ptr指向的、逗号之前的字符
循环,依次类推,得到所有行
hjf1010
2005-07-26
打赏
举报
回复
fscanf(fp,"%d,%d,%s\n",&temp,&dest,str)
加载更多回复(1)
使用Pandas
读取
CSV文件的指定行
数据
针对CSV格式
数据
文件的
读取
,Pandas提供了一个read_csv函数,可以
实现
方便快捷的
读取
操作。skiprows和nrows是Pandas中非常方便的参数,可以用来
读取
CSV文件中指定范围的行
数据
。在这个示例中,我们
读取
名为example.csv的CSV文件,并跳过了第一、二、五行,然后通过iloc函数获取指定行,并打印出来。此外,我们还可以使用nrows参数来
读取
指定行数的
数据
。在这个示例中,我们使用nrows参数
读取
了example.csv文件的前五行
数据
,并打印出来。
c语言 如何
读取
txt中的某一行,并且把每一行中的
数据
挨个读出来
如图所示,我的txt文本如下所示,我想
读取
第10行的
数据
,并且把第10行的7个
数据
都取出来: int SetPositionByLine(FILE *fp, int nLine) { int i = 0; char buffer[100]; fpos_t pos; rewind(fp); for (; i < nLine; i++) fgets(buffer, 100, fp); fgetpos(fp, &pos); retu...
MATLAB怎样有效
读取
excel文件中的
数据
?
1.使用函数xlsread
读取
单个文件 (1)num=xlsread(filename) filename是单引号括起来的带路径的文件名,函数直接
读取
filename所指文件的sheet1中的
数据
区域存储到双精度矩阵num中;其中,
数据
区域的选取规则是:对表格前几个含有非数值的行(列)直接忽略,不算入
数据
区域;另外如果在
数据
区域中含有非数值的单元,将其处理为nan。 (2)num = ...
批量
读取
_MCGS触摸屏如何
实现
批量
读取
modbus
数据
的方法?
前两天,在一个QQ群里,有同行的朋友问,在MCGS中如何
实现
批量
读取
数据
,因为他当时面临设备,通讯协议才是MODBUS RTU,同时厂家说地址不能分开读,必须是连续的。鉴于他提供的消息是能够设置的地方都试过了。为此,我直接告诉通过脚本,批量
读取
的方案。那么这个方案究竟如何
实现
?且看我下面慢慢道来。一、工具1.modsim:仿真PLC或者第三方设备。2.MCGS组态软件3.串口软件:在电脑中生成两不...
matlab从第N行开始
读取
dat
数据
遇到了这样的一个问题,在matlab中要
读取
下面dat文件中的
数据
存到数组中。 但是,最前面的一行是
数据
提示语,例如第一列的rcs代表下面的
数据
是雷达目标的rcs,第二列的fre代表其对应的频率。我们要读到matlab中要进行处理的
数据
当然不包括第一行的rcs和fre。所以怎么跳过第一行直接读后面的呢? 尝试过load和fscanf函数,好像都不行。最后找到了一个textscan函数可以
实现
这个目的。下面是代码以及运行结果: clc;clear;close all; fid=fopen('rcs.dat'
C语言
70,034
社区成员
243,244
社区内容
发帖
与我相关
我的任务
C语言
C语言相关问题讨论
复制链接
扫一扫
分享
社区描述
C语言相关问题讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章