为什么显示出来是这样的。。(求问)

#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,就没事了

先关闭,再打开文件。

在于你的读入方式,怎么写入文件,就怎么读到内存中,再由内存输出到屏幕。
写出的方式式可以的。