【发布时间】:2015-05-25 20:43:06
【问题描述】:
我正在学习用 C++ 编写二进制文件。我对结果有点困惑。假设我有这个代码:
#include<fstream>
#include<string>
using namespace std;
int main(){
ofstream file;
string text = "Some text over here";
file.open("test.bin",ios::out|ios::binary);
file.write(text.c_str(), text.length());
file.close();
return 0;
}
我希望输出文件 test.bin 是“二进制”,但是当我在记事本中查看它时,我看到的是普通文本:
Some text over here
我的期望错了吗?是什么让事物成为二进制,我应该用什么来实现它?
【问题讨论】:
-
技术上,普通文本是二进制。您应该期望得到与您输入的内容相同的内容。其中包含文本字符的二进制文件和具有相同字符的文本文件之间的唯一区别是......好吧,什么都没有。当然,除了可以在二进制文件中放入不可打印的字符。
标签: c++ file binary binaryfiles