c++ - 写入二进制数据

标签 c++ c binary fstream

我正在使用 fstream 写入二进制文件,并在打开文件时使用二进制标志。

我需要将一些文本写成二进制文件,简单的写入就可以了。 问题是我还需要写入(如十六进制所示)0。在二进制记事本中打开时的值显示为零,但是当尝试写入此值时,该值不为零,它的十六进制值为 30。

这样具体的数据怎么写?

最佳答案

您可能只需要这样的东西,根据需要进行改进:

ofstream file("output.bin", ios::out | ios::binary);
if (file.good())
{
    char buf[1] = {0};
    file.write(buf, sizeof(buf));
    file.close();
}

指向更复杂的解决方案和文档的链接已经发布。

关于c++ - 写入二进制数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1400961/

相关文章:

以大小 0 定义的 cpumask 数组

java - 如何将 JTextArea 上的文本转换为 ascii 二进制文件并在 java 上转换回来

c - 通过串口读写二进制数据

c++ - Mac OS X/Linux 上的 _vscwprintf

c++ - 在按键期间不会不断调用 GLFW 中的 glfwSetKeyCallback()

c++ - 分离轴定理错误触发

c# - 在C#中模拟KeyPress到游戏

使用 Emscripten 在 C 代码中回调 javascript 函数

c - 为什么 'c[&i]' 编译而 'c[i]' 不编译?

用于实现二进制文件格式的 Python 模块?