huang12134 2022-03-20 20:53 采纳率: 50%
浏览 47
已结题

写二进制读写文件的过程中,读文件时出现了乱码,没有弄清楚原因。

问题遇到的现象和发生背景

写二进制读写文件的过程中,读文件时出现了乱码,没有弄清楚原因。(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;

}

运行结果及报错内容

这是终端结果

img


这是文件写入的结果

img

我的解答思路和尝试过的方法
我想要达到的结果
  • 写回答

0条回答 默认 最新

    报告相同问题?

    问题事件

    • 系统已结题 3月28日
    • 创建了问题 3月20日