C/C++如何读取TXT文件的行数和把TXT文件的内容存到数组中 10
12.122.134.544.353.862.970.633.245.943.738.590.321.687.432.365.945.676.477.923.567.9....
12.1 22.1 34.5 44.3 53.8 62.9 70.6
33.2 45.9 43.7 38.5 90.3 21.6 87.432.3 65.9 45.6 76.4 77.9 23.5 67.9......文件名为my.txt,共有N行7列这样的数据。请问如何得到这个文件的行数N,并且把上面数据的每一列依次赋值给x1[N]、x2[N]、x3[N]、x4[N]、x5[N]、x6[N]、x7[N]。
我该怎么改程序,谢谢
我怎么得到N 展开
33.2 45.9 43.7 38.5 90.3 21.6 87.432.3 65.9 45.6 76.4 77.9 23.5 67.9......文件名为my.txt,共有N行7列这样的数据。请问如何得到这个文件的行数N,并且把上面数据的每一列依次赋值给x1[N]、x2[N]、x3[N]、x4[N]、x5[N]、x6[N]、x7[N]。
我该怎么改程序,谢谢
我怎么得到N 展开
4个回答
展开全部
C语言读取TXT文件的行数并把把TXT文件的内容存到数组中,需要根据每行的内容(字符,数字,字符串)选取fgets、fscanf或者fgets。
这里假设每行是一个字符串,每行不超过127个字符(用数组存字符串,最后一位存'\0'),选取fgets进行读取。
示例代码如下:
#include <stdio.h>
#include <stdlib.h>
int main(int argc, char* argv) {
FILE* rf = fopen("input.txt","r");
char a[1024][128];
int i=0;
while(fgets(a[i],128,rf))i++;
int n=i;
printf("行数:%d\n",n);
fclose(rf);
i=0;
while(i<n)printf("%s",a[i++]);
system("pause");
return 0;
}
运行结果:
其中input.txt的内容如下:
源程序,输入文件均可从附件下载。
展开全部
可以用getline一次读取一行,对每行的数据在进行处理。这个N应该要读完了才知道,可以用容器,就不用考虑N的事情了吧,也不用想着释放内存了。
追问
容器??、什么意思。我不太明白,我刚学C不久,谢谢
追答
vector,list这些,网上资料很多的,都是动态分配大小的,使用前不必知道数据量的大小。
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2014-11-06
展开全部
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
为什么不使用fscanf从文件里面 直接一个一个的double 读取
更多追问追答
追问
因为不同列有不同的作用,所以放在不同数组里
追答
1.如果是用C语言的话 使用fcanf依次读取第i个放在第i%7个数组里面
2.c++的话使用文本流iostream标准库就可以实现了(getline读取每一行,cin>>word读取行里面的每一个数字)
3.说实话你这些代码,没有C也没有C++的样子,从其他的语言转过来的?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询