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 关注
- 83 浏览
添加回答
举报