#include
#include
#include
using namespace std;
struct Ten_numbers{
int num[10];
};
void main(){
Ten_numbers Ten;
cout<<"输入10个数字!"< for(int i=0;i cin>>Ten.num[i];
}
string Filename="text.txt";
ofstream ofile(Filename,ios::binary);
ofile.write((char*)&Ten,sizeof(Ten_numbers));
ofile.close();
ifstream ifile(Filename,ios::binary);
char num[sizeof(Ten_numbers)];
ifile.get(num,sizeof(Ten_numbers));
for(int i=0;i<10;i++){
cout<<num[i];
}
ifile.close();
system("pause");
}
你在输入了以后,还读取了文件,原来的内容就被覆盖了
#include
#include
using namespace std;
struct Ten_numbers
{
int num[10];
};
void main()
{
Ten_numbers Ten;
cout<<"输入10个数字!"< for(int i=0;i cin>>Ten.num[i];
string Filename="text.txt";
ofstream ofile;
ofile.open(Filename,ios::binary);
ofile.write((char*)(&Ten),sizeof(Ten_numbers));
ofile.close();
ifstream ifile(Filename);
//char num[sizeof(Ten_numbers)];
Ten_numbers ten1;
ifile.read((char*)(&ten1),sizeof(Ten_numbers));
for(int i=0;i <10;i++)
cout<<ten1.num[i];
ifile.close();
system("pause");
}
怎么写进去的,怎么读出来,只需要更改你的读取程序部分
char num[sizeof(Ten_numbers)];
ifile.get(num,sizeof(Ten_numbers));
更改为
Ten_numbers ten1;
ifile.read((char*)(&ten1),sizeof(Ten_numbers));
建议楼主把结构体里的成员变量类型改为字符char,不要用int,就没事了
先关闭,再打开文件。
在于你的读入方式,怎么写入文件,就怎么读到内存中,再由内存输出到屏幕。
写出的方式式可以的。