數組寫入Txt 與讀Txt到數組 C++

因爲需要保存一些二維數組的數據,所以在寫入到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;
}

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章