C : Write char array (containing '1' and '0' ) into as binary in a file

标签 c arrays file binary fwrite

我在将 '1' 和 '0' 的字符数组以二进制形式写入文件中时遇到问题。 这是我正在尝试做的一个示例:

int main(){
  FILE * file;
  file = fopen("file" , "w+b");

  char buffer[8] = "11001100"; // 8 bits-> 1 byte to write

  fwrite(buffer,1,8,file);

  fclose(file);
  return 0;
}

问题是它在我的文件中将自身写入为文本(写入 8 个字节),而不是二进制/仅 1 个字节。

我做错了什么?

预先感谢您的帮助。

最佳答案

我认为您可以使用0b前缀... GNU doc

0b 表示您正在写入一个字节。

如果你这样写:

int main(){
  FILE * file;
  file = fopen("file" , "w+b");
  char c;

  c = 0b11001100

  fwrite(&c,1,1,file);

  fclose(file);
  return 0;
}

关于C : Write char array (containing '1' and '0' ) into as binary in a file,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47612205/

相关文章:

c - 这是 C 中 'restrict' 的正确用法吗?

arrays - 将数组从某个位置复制到c中的另一个数组

Java:标记/标记文件

Perl 脚本在信号处理程序中重新打开文件

c - 行优先 3-D 数组地址

c - 如何避免 get_string 错误?

python - 查找一个数据集中的数据在另一数据集中的对应关系

android - 使用我的应用程序从 html 文件读取数据的简单方法?

c - 请推荐 doxygen 快捷方式

python - Numpy 沿一个轴提取任意子数组