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
展开
 我来答
百度网友fc027fc
2015-08-05 · TA获得超过1.1万个赞
知道大有可为答主
回答量:3160
采纳率:83%
帮助的人:757万
展开全部

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的内容如下:

源程序,输入文件均可从附件下载。

123but123
2014-11-06 · 超过18用户采纳过TA的回答
知道答主
回答量:116
采纳率:0%
帮助的人:31.9万
展开全部
可以用getline一次读取一行,对每行的数据在进行处理。这个N应该要读完了才知道,可以用容器,就不用考虑N的事情了吧,也不用想着释放内存了。
追问
容器??、什么意思。我不太明白,我刚学C不久,谢谢
追答
vector,list这些,网上资料很多的,都是动态分配大小的,使用前不必知道数据量的大小。
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2014-11-06
展开全部
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
sunsheaven
2014-11-06 · 超过10用户采纳过TA的回答
知道答主
回答量:23
采纳率:0%
帮助的人:20.7万
展开全部
为什么不使用fscanf从文件里面 直接一个一个的double 读取
更多追问追答
追问
因为不同列有不同的作用,所以放在不同数组里
追答
1.如果是用C语言的话 使用fcanf依次读取第i个放在第i%7个数组里面
2.c++的话使用文本流iostream标准库就可以实现了(getline读取每一行,cin>>word读取行里面的每一个数字)
3.说实话你这些代码,没有C也没有C++的样子,从其他的语言转过来的?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式