我在将 '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/