在c++中读取一个txt文件内容到一个数组中,怎样多行读取?

文件内容为一张试卷,要把每道题分别读取到一个数组中,但是每道题所占的行数各不相同,应该要怎样读取呢。。

我给你写了个例子,比如你的数据文件存在e:\input.txt,文件里面有10行数据
v 0.18081 0.122417 0.0220329
v 0.18081 0.122417 0.0220329
v 0.18081 0.122417 0.0220329
v 0.18081 0.122417 0.0220329
v 0.18081 0.122417 0.0220329
v 0.18081 0.122417 0.0220329
v 0.18081 0.122417 0.0220329
v 0.18081 0.122417 0.0220329
v 0.18081 0.122417 0.0220329
v 0.18081 0.122417 0.0220329

那么程序可以这样写:

#include <fstream>
using namespace std;

void main()
{
ifstream fileinput;
fileinput.open("e:\\input.txt");

char v[10];
double data[11][4];

for (long i=1;i<=10;i++)
{
fileinput>>v;
for (int j=1;j<=3;j++)
{
fileinput>>data[i][j];
}
}

fileinput.close();

}

最后data就是存数据的数组。我喜欢含义明确一些,所以数据的0行0列都不用,从1开始用的。

还有问题可以再问我
温馨提示:内容为网友见解,仅供参考
第1个回答  2010-12-19
#include <iostream.h>
#include <stdio.h>
char a[1000000];
void readDat(char *arr)
{
int i=0;
FILE *fp;
fp=fopen(arr,"r");
do {
fscanf(fp,"%c",&a[i]);
i++;
}while(a[i-1]!='\0');
fclose(fp);
}
void main()
{
char p[100];
cout<<"请输入文件的路径如 E:\\\\c++\\\\闲时无聊所做\\\\新建文本文档.txt"<<endl;
cin>>p;
readDat(p);
int i=0;
while(a[i]!='\0')
{
cout<<a[i];
i++;
}
cout<<endl;
cout<<i;
}
第2个回答  2010-12-19
判断换行符不行么?本回答被提问者和网友采纳

如何用C++对一个文本文档里面的许多数据进行逐行读取,并放入数组中
推荐使用文件流来读取。如果你的数据是用空格、制表符和换行符来分隔的,那么程序可以写的很简单。直接逐行用fin就可以了。如果你的数据是用逗号或者其他字符来分隔,用换行来分行的,那么你需要在循环中写入两次读入,第一次用于读入数据,第二次用于跳过字符。如果数据中间的分隔字符是不规范、不一致、...

如何用C++对一个文本文档里面的许多数据进行逐行读取,并放入数组中
include<iostream>#include<fstream>#include<string>using namespace std;int main(){fstream input;string str[50];int i=0,j;input.open("1.txt");while(!input.eof()){getline(input,str[i]);\/\/将一行的内容全部读入i++;\/\/记录行数}input.close();for(j=0;j<i;j++){cout<<str[...

C\/C++如何读取TXT文件的行数和把TXT文件的内容存到数组中
C语言读取TXT文件的行数并把把TXT文件的内容存到数组中,需要根据每行的内容(字符,数字,字符串)选取fgets、fscanf或者fgets。这里假设每行是一个字符串,每行不超过127个字符(用数组存字符串,最后一位存'\\0'),选取fgets进行读取。示例代码如下:include <stdio.h>#include <stdlib.h>int main...

c++如何读取txt的数据(一行一行的读,从第一行读到最后一行)要详细代 ...
C++读取txt文本数据并一行一行的读方法如下:1、使用C++提供输入输出流的getline函数可以实现整行读取;完整代码如下:include<iostream>#include<fstream>using namespace std;int main(){ \/\/ 定义输入文件流类对象infileifstream infile("test.txt",ios::in);if(!infile){ \/\/ 判断文件是否存在 ce...

用vc++逐行读取文本文件txt里面的数据,并且复制给数组
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[...

C++如何逐行读取txt文件,并将读取出来的数据进行运算导入到另一个文件...
1、首先我们在电脑上新建一个文件夹,名称叫txt2array。然后,打开我们的devc++,新建一个控制台c++项目,名称也叫txt2array。2、将项目文件及源代码文件以及我们演示用的数据文件都存放在txt2array文件夹中。3、向数据文件中写入一些演示用数据。4、读取文件。输入如下代码:运行下,看来我们读取成功了...

c++读取.txt文件从最后一行往前读数据
文件操作指针,只能够从前往后。不能够倒着读。可以把文件内容挨着读入到字符数组缓存当中,然后倒着操作即可。1、C语言标准库提供了一系列文件操作函数。文件操作函数一般以f+单词的形式来命名(f是file的简写),其声明位于stdio.h头文件当中。例如:fopen、fclose函数用于文件打开与关闭;fscanf、fgets函数...

请问C++ 如何从txt文件中读取数据,然后保存在类的数组中?
要声明一个信息(学生)类的数组然后再读文件,读文件大概代码如下:ifstream File_read;while(!File_read.eof()){ File_read>>data[i].num>>data[i].name>>data[i].score;i++;} 数组data是的类型是信息类。自己试试。

C++关于用ifstream来读取txt数据赋值给一个结构体对象和数组的问题
其一,先预读一行(按字符读入一个够大的数组),统计其中的空格数,空格数减1就是每行需要读取的数据个数。(大概可以用getline来处理)其二,预先获取整个文件的总行数(=城市个数)。代码是网上Ctrl+V来的 int CountLines(char *filename){ ifstream ReadFile;int n=0;char line[512];ReadFile....

C++ 从TXT文件中读取数据存到数组中??你是怎么解决的谢谢
文件中读取数据存到数组中的命令:include <fstream> void main()nclude <stdio.h> include <math.h> define MaxLength { int a[10];ifstream fin("D:\/我的输入文件.txt");for(int i=0;i<10;i++)fin>>a[i];for(int i=0;i<10;i++)cout<<a[i]<<endl;ofstream fout("D:\/我的...

相似回答