3 回答
 
                    
                    TA贡献1895条经验 获得超3个赞
假设二维数组以行优先的方式存放在外部文件中。 
#include <fstream> 
#include <iostream> 
using namespace std;
const int s = 10; //数组为 10X10
int myarray[s][s];//定义二维数组
void main() 
{ 
ifstream inobj("array.txt");
if (!inobj) 
{ 
cout << "file open failed.\n"; 
exit(0); 
} 
for (int i = 0; i < s; ++i) 
{ 
if (inobj.eof()) 
break;
for (int j = 0; j < s; ++j) 
{  
inobj >> myarray[i][j]; 
} 
} 
cout << endl; 
inobj.close(); 
//现在,二维数组 myarray 已经用文件初始化了,每一个元素都具有有效值
cout<<"the array:\n";
for (int m = 0; m < s; ++m) 
{ 
for (int n = 0; n < s; ++n) 
{ 
cout<<myarray[m][n]<<"\t";
}
cout<<"\n";
} 
cout<<"\n";
}
 
                    
                    TA贡献1815条经验 获得超6个赞
c语言可以存入以逗号隔开的数据,c++我只知道可以存入以空格隔开的数据,你把数据用空格隔开才可以用下面的程序编译。 
#include<fstream> 
#include<iostream> 
using namespace std; 
struct list 
{ 
int num; 
float x_coor; 
float y_coor; 
float z_coor; 
}; 
int main() 
{ 
int n = 0,i=0,count=0; 
list a[10]; 
ifstream fin("hello.txt"); 
if(!fin) 
{ 
cout<<"open failed!"<<endl; 
exit(1); 
} 
while(fin>>a[i].num>>a[i].x_coor>>a[i].y_coor>>a[i].z_coor) 
{ 
//cout<<a[i].num<<" "<<a[i].x_coor<<" "<<a[i].y_coor<<" "<<a[i].z_coor<<endl; 
i++; 
count++; 
} 
fin.close(); 
for(i=0;i<count;i++) 
cout<<a[i].num<<" "<<a[i].x_coor<<" "<<a[i].y_coor<<" "<<a[i].z_coor<<endl; 
return 0; 
}
 
                    
                    TA贡献1824条经验 获得超5个赞
文件中的数字以空格分开。
#include <fstream>
#include <iostream>
#include <string>
#define N 10
using namespace std;
int main()
{
ifstream in;
int i, j, a[N][N];
in.open("data.txt");
if (!in)
{
cout << "打开文件失败!" << endl;
return -1;
}
for (i = 0; i < N; ++i)
{
for (j = 0; j < N; ++j)
{
if (in.eof())
goto out;
in >> a[i][j];
cout << a[i][j] << '\t';
}
}
out:
cout << endl;
in.close();
return 0;
}
- 3 回答
- 0 关注
- 117 浏览
添加回答
举报
