问题遇到的现象和发生背景
写二进制读写文件的过程中,读文件时出现了乱码,没有弄清楚原因。(Visual stdio 2017)
问题相关代码,请勿粘贴截图
#include
#include
#include
using namespace std;
int main ()
{
ifstream ifs;
ofstream ofs;
char write[1024];
char read[1024];
char write_in='1';
int index= 0;
while (write_in!='#')
{
cin >> write_in;
write[index] = write_in;
index++;//index标记长度
}
//const int index_1 = index+1;
ofs.open("D:\test\二进制读写.txt", ios::trunc | ios::binary);
ofs.write((char const *)write, index);
ofs.close();
ifs.open("D:\test\二进制读写.txt", ios::in | ios::binary);
if (ifs.is_open())
{
ifs.read(read,index);
cout << read ;
}
else
{
cout << "读不到此文件!" << endl;
}
ifs.close();
system("pause");
return 0;
}
运行结果及报错内容
这是终端结果
这是文件写入的结果