如何用C++对一个文本文档里面的许多数据进行逐行读取,并放入数组中 30

 我来答
s605954350
2012-09-29 · TA获得超过353个赞
知道小有建树答主
回答量:212
采纳率:0%
帮助的人:209万
展开全部
推荐使用文件流来读取。
如果你的数据是用空格、制表符和换行符来分隔的,那么程序可以写的很简单。直接逐行用fin就可以了。
如果你的数据是用逗号或者其他字符来分隔,用换行来分行的,那么你需要在循环中写入两次读入,第一次用于读入数据,第二次用于跳过字符。
如果数据中间的分隔字符是不规范、不一致、数量都未知的,那么通用的解决办法则是按单个字符从文件流中读入,然后使用数字判断函数、或者自己判断ASC码来判断是否为数字字符,然后在下次非数字字符之前对逐个数字字符进行按值进位累加。

若是要从任意一行开始读入的话,添加一个跳行函数就行了。如果你是用的清华版的那种C++教材,跳行函数在书中有的,我就不再赘述了。有了跳行函数,直接在主程序中添加一个循环,使用跳行函数就可以了。

希望我的回答对你有帮助
夫妻那些事儿
2012-09-27 · TA获得超过802个赞
知道小有建树答主
回答量:428
采纳率:50%
帮助的人:218万
展开全部
#include<stdio.h>
#include<stdlib.h>
#define MAX 20000
char *srcfile = "data.txt"; //文件名
int data[MAX][8];
int main()
{
FILE *src = fopen(src,"r");
int i,j;
for(i = 0;i < MAX;i++)
{
fscanf(srcfile,"%d,%d,%d,%d,%d,%d,%d,%d",&data[i][0],&data[i][1],&data[i][2],&data[i][3],&data[i][4],&data[i][5],&data[i][6],&data[i][7]);
if(feof(src))
break;
}
return 0;
}
如果数据都是整数的话这个代码应该没问题了
追问
但不是整数  而且有240行 320列  如果要按这种方法  程序得写很长   而且 如何才能从文件的第五行开始读取数据
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
Roc_Quan
2012-09-28
知道答主
回答量:41
采纳率:0%
帮助的人:13.6万
展开全部
你可以看看这个,看能解决的的问题么?
http://blog.csdn.net/dengdaiforever/article/details/7940616
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
?>

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式