社区
C语言
帖子详情
请问 如何读取每行第二个数据? 如何实现这样的要求?
bborn
2005-07-26 09:00:23
数据格式是这样的
data1,data2,........
....................
数据是用逗号隔开的
每行的个数不知道 但是是统一的
如何按要求读入每行 特定列的数据?
...全文
230
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)
利用POI插件导入excel怎样
读取
合并行
数据
?
像这样的excel格式,我导入excel时,怎么去解析这个文件? 如果利用正常的方式去
读取
单元格,只能
读取
合并航中的第一行的
数据
,其他行为空。 所以必须要知道合并行是从哪行开始,哪行结束,这些行的值都去
读取
这个合并行中的第一行
数据
。 采取的方式如下: /** * 合并单元格处理,获取合并行 * @param sheet * @return List */
MATLAB怎样有效
读取
excel文件中的
数据
?
1.使用函数xlsread
读取
单个文件 (1)num=xlsread(filename) filename是单引号括起来的带路径的文件名,函数直接
读取
filename所指文件的sheet1中的
数据
区域存储到双精度矩阵num中;其中,
数据
区域的选取规则是:对表格前几个含有非数值的行(列)直接忽略,不算入
数据
区域;另外如果在
数据
区域中含有非数值的单元,将其处理为nan。 (2)num = xls
python pandas 把
数据
保存成csv文件,以及
读取
csv文件获取指定行、指定列
数据
文章目录:1
数据
说明2 把
数据
集文件信息使用python pandas保存成csv文件3 使用python pandas
读取
csv的
每行
、每列
数据
1
数据
说明 1、在test_data目录下是我们的
数据
集(我虚构的,只是为了说明下面的处理过程) 图片来源这里,不要问,没有联系方式! 每张图片名中的数字是样本
数据
的标签label 这里我们的
数据
规模大小是5张
数据
2、
数据
保存成csv文件
要求
每一行代表一个样本 每一行的第一列表示文件的路径,每一行的第二列表示样本的标签 2 把
数据
集文件信息使
使用Pandas
读取
CSV文件的指定行
数据
针对CSV格式
数据
文件的
读取
,Pandas提供了一个read_csv函数,可以
实现
方便快捷的
读取
操作。skiprows和nrows是Pandas中非常方便的参数,可以用来
读取
CSV文件中指定范围的行
数据
。在这个示例中,我们
读取
名为example.csv的CSV文件,并跳过了第一、二、五行,然后通过iloc函数获取指定行,并打印出来。此外,我们还可以使用nrows参数来
读取
指定行数的
数据
。在这个示例中,我们使用nrows参数
读取
了example.csv文件的前五行
数据
,并打印出来。
matlab从第N行开始
读取
dat
数据
遇到了这样的一个问题,在matlab中要
读取
下面dat文件中的
数据
存到数组中。 但是,最前面的一行是
数据
提示语,例如第一列的rcs代表下面的
数据
是雷达目标的rcs,第二列的fre代表其对应的频率。我们要读到matlab中要进行处理的
数据
当然不包括第一行的rcs和fre。所以怎么跳过第一行直接读后面的呢? 尝试过load和fscanf函数,好像都不行。最后找到了一个textscan函数可以
实现
这个目的。下面是代码以及运行结果: clc;clear;close all; fid=fopen('rcs.dat'
C语言
69,373
社区成员
243,080
社区内容
发帖
与我相关
我的任务
C语言
C语言相关问题讨论
复制链接
扫一扫
分享
社区描述
C语言相关问题讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章