因为需要保存一些二维数组的数据,所以在写入到Txt,与从Txt中读出到数组中还是不很理解,上网查了很久,发现很多都是讲了很多理论的,不适合刚刚入门的小菜鸟,于是我这只菜鸟就写了个菜鸟版的,其中讲述组的数据写入到Txt,和将TxT 中的数据读入到数组。废话少说直接上代码:
#include<iostream>
#include<fstream>
#include <string >
#include<sstream>
using namespace std;
int main()
{
int Arr[3][4];
int Arr2[3][4];
for(int i=0;i<3;i++)
{
for(int j=0;j<4;j++)
{
Arr[i][j]=i+j;
}
}
//这一部分是要写入txt,注意的是ofstream是代表从内存到外面的文件,所以是out
ofstream outfile ("C:\\Users\\CMH\\Desktop\\DensityData.txt",ios::in|ios::out|ios::binary);
if(!outfile.is_open())
{
cout<<" the file open fail"<<endl;
exit(1);
}
for(int i=0;i<3;i++)
{
for(int j=0;j<4;j++)
{
outfile<<Arr[i][j]<<" ";
}
outfile<<"\r\n";
}
outfile.close();
//这一部分是要从txt读入,这里时从外面的文件写入到内存,所以使用in
ifstream infile("C:\\Users\\CMH\\Desktop\\DensityData.txt",ios::in|ios::out|ios::binary);;
if(!infile.is_open())
{
cout<<"file open fail"<<endl;
exit(1);
}
string line,s;
int row=0;
while ( getline( infile, line ) )
{
int col=0;
stringstream ss;//注意这个的头文件是 #include<sstream>
ss<<line;
while(ss)
{
int a;
ss>>a;
Arr2[row][col]=a;
col++;
}
row++;
}
infile.close();
cout<<"输出的"<<endl;
for(int i=0;i<3;i++)
{
for(int j=0;j<4;j++)
{
cout<<Arr2[i][j]<<" ";
}
cout<<endl;
}
int a;
cin>>a;
return 0;
}