C++ 读取文本文档中的数据到二维数组中,首先计算文本文档中有多少行数据,读取数据然后进行输出。
#include <iostream>
#include <fstream>
#include <string>
using namespace std;
int CountLines(char *filename)
{
ifstream ReadFile;
int n=0;
string tmp;
ReadFile.open(filename,ios::in);//ios::in 表示以只读的方式读取文件
if(ReadFile.fail())//文件打开失败:返回0
{
return 0;
}
else//文件存在
{
while(getline(ReadFile,tmp,'\n'))
{
n++;
}
ReadFile.close();
return n;
}
}
int main()
{
ifstream file;
int LINES;
char filename[512]="out.txt";
file.open(filename,ios::in);
if(file.fail())
{
cout<<"文件不存在."<<endl;
file.close();
}
else//文件存在
{
LINES=CountLines(filename);
cout<<"The number of lines is:"<<LINES<<endl;
int cols=7;
int array[LINES][cols];
int lables[LINES][1];
int num=0;
while(!file.eof()) //读取数据到数组
{
for(int i=0;i<cols;++i)
{ if(i<cols-1) {
file >> array[num][i];
} else{
file>>lables[num][1];
}
}
num++;
}
file.close(); //关闭文件
for(int num=0;num<LINES;++num) {//输出数组内容
for (int i = 0; i <cols-1; ++i) {
cout << array[num][i] <<" ";
}
cout<< endl;
}
for(int num=0;num<LINES;++num) {//输出lable 内容
cout<<lables[num][1]<<endl;
}
}
return 0;
}
|