例如: 如果我有这个整数10101011 我想将10101011写入1字节的二进制文件
这样的事情,我想但它不能正常工作
FILE *f;
int n=10101011;
f=fopen("file","wb");
Fwrite(&n,1,1,f);
为什么你总是这样做-1我搜索,我找不到那些东西 帮帮我!!
答案 0 :(得分:0)
我假设10101011是您要编写的整数值的二进制表示。在这种情况下,您可以使用unsigned char
,因为char
的大小为1:
FILE *f;
unsigned char c = 0xAB; // Equal to the binary number 10101011
f=fopen("file","wb");
fwrite(&c,1,1,f);
答案 1 :(得分:0)
似乎您想将二进制转换为十进制:
#include <stdio.h>
int main(void)
{
unsigned char c = 0;
int x = 10101011;
int rem, i;
for (i = 0; i < 8; i++) {
rem = x % 10;
if (rem == 1) {
c |= 1U << i;
}
x /= 10;
}
printf("0x%x\n", c);
return 0;
}
输出:
0xab
请注意,x