c++ write() 为什么读到文件中的是乱码

来源:百度知道 编辑:UC知道 时间:2024/06/04 10:18:37
#include<iostream>

#include<fstream>

using namespace std;
struct a
{
char id[19];
char no[7];
};
typedef struct a A;

int main()
{
A a;
cin>>a.id;
cin>>a.no;
ofstream out;
out.open("a1.txt",ios::out|ios::binary);
out.write((char*)&a,sizeof(A));

out.close();
//in.open("a.txt",ios::in|ios::binary);
return 0;

}

读进一个身份证号和一个编号
文件里面出来的却是乱码 为什么

乱码 -- 二进制文件,空白处乱码。但字符串应当看得出。

//in.open("a.txt",ios::in|...
in.open("a1.txt",... // 文件名不要写错啊

二进制方式写入的,当然是乱码了