没有合适的资源?快使用搜索试试~ 我知道了~
C语言从txt文件中逐行读入数据存到数组中的实现方法
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
5星 · 超过95%的资源 8 下载量 168 浏览量
2021-01-20
06:47:45
上传
评论
收藏 40KB PDF 举报
温馨提示
试读
1页
首先,要知道数据的存储格式是怎样的, 65 2 722 542 691 514 644 506 588 524 565 558 608 580 648 586 696 572 482 564 第一行表示数字的个数和维数,所以要先读入这些信息: <span xss=removed> </span>FILE *fp = fopen(2D_Jesscia_keypos.txt, r); if ( !fp ) { fprintf( stderr, ! Error: faild to open keypos file \n ); return -1;
资源推荐
资源详情
资源评论
C语言从语言从txt文件中逐行读入数据存到数组中的实现方法文件中逐行读入数据存到数组中的实现方法
首先,要知道数据的存储格式是怎样的,
65 2
722 542
691 514
644 506
588 524
565 558
608 580
648 586
696 572
482 564
第一行表示数字的个数和维数,所以要先读入这些信息:
<span style="white-space:pre"> </span>FILE *fp = fopen("2D_Jesscia_keypos.txt", "r");
if ( !fp )
{
fprintf( stderr, "! Error: faild to open keypos file \n" );
return -1;
}
fscanf(fp, "%d %d%c", &in.numberofpoints, &dim, &ne);
这样就得到了个数信息,这样方便动态的分配内存,接下来就可以逐行读入数据了:
<span style="white-space:pre"> </span>in.pointlist = (REAL *) malloc( in.numberofpoints * 2 * sizeof(REAL) );
char buf[1024];
char pt1, pt2;
for (i = 0; i < in.numberofpoints; i++)
{
if (!feof(fp))
{
if (fgets(buf, 1024, fp) == NULL)
break;
sscanf(buf, "%s %s", &pt1, &pt2);
in.pointlist[2 * i] = atoi(&pt1);
in.pointlist[2 * i + 1] = atoi(&pt2);
}
}
注意,是现将每一行读入buf中,这是字符串类型的,然后再利用sscanf将里面的内容读给pt1和pt2,再利用atoi函数得到数据
类型的值。
以上就是小编为大家带来的C语言从txt文件中逐行读入数据存到数组中的实现方法全部内容了,希望大家多多支持软件开发网
~
您可能感兴趣的文章您可能感兴趣的文章:c语言字符数组与字符串的使用详解C语言中数组作为函数的参数以及返回值的使用简单入门c语言中数
组名a和&a详细介绍约瑟夫环问题(数组法)c语言实现c语言实现把文件中数据读取并存到数组中C语言查找数组里数字重复次
数的方法C语言中数组的一些基本知识小结C语言之从字符数组中删除特定的字符C语言构建动态数组完整实例详解C语言数组
中是以列优先吗
资源评论
- wws9112022-10-26资源内容总结地很全面,值得借鉴,对我来说很有用,解决了我的燃眉之急。
- m0_678296422023-06-20总算找到了自己想要的资源,对自己的启发很大,感谢分享~
- 猪猪1752023-07-07资源使用价值高,内容详实,给了我很多新想法,感谢大佬分享~
weixin_38612909
- 粉丝: 4
- 资源: 920
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功