请教各位C语言高手,C++ 用txt文件中的数据读入一个二维数组

如题所述

通常这种不会要求你全部读完再处理,更多的情况是读取一行或者几行就能够处理,然后继续读取直到文件结束
写一个while(scanf("%s",array)!=EOF)就能够实现
当然你是从文件读入,应该换成相应的fscanf函数
------------------------
想要详细代码,你得先把需求说明白了~
温馨提示:答案为网友推荐,仅供参考
第1个回答  2019-02-14
关键部位伪代码:
while(文件未结束)
{
读一行,
将该行内容放入array[i];
i++;
}
需要注意的地方有:
array[]没一维长度要定义大一点,要保证可以容纳每行的内容。
array
第二维大小,即i不要越界,要保证array第二维大小大于文件总行数。
多少给点分哦
第2个回答  2019-04-30
我用的是C++,不用array[]数组行不行?我觉得用一个模板会更好(因为不清楚文件有多少行多少列,用array[]数组可能会造成内存的浪费)。(现场编一编,并没有编译验证,有不对的地方请指出。)
#include
#include
#include
#include
using
namespace
std;
void
main()
{
vector
strings;
string
line_string;
ifstream
in("a.txt");
while
(getline(in,line_string))
strings.push_back(line_string);//把每一行的内容放入容器中
for
(int
i=0;i
评论
0
0
第3个回答  2019-07-31
#include
int
main()
{
//
文件不能超过128行。如果文件上万行,就不可以用数组一次性保存。
char
array[128][512];
FILE
*fp;
int
i
=
0;
if
((fp
=
fopen("a.txt",
"r"))
==
NULL)
{
printf("文件a.txt不存在\n");
return
-1;
}
while
(fscanf(fp,
"%s",
array[i])
!=
EOF)
puts(array[i++]);
fclose(fp);
return
0;
}
相似回答