C 将变量打印到二进制文件时出现问题

C 将变量打印到二进制文件时出现问题,c,binary,C,Binary,我无法将5添加到文件中。我知道如果你在数组中添加5,它将解决问题。但我不需要数组 int main(void) { FILE* a = fopen("bin.bin", "wb"); int b = 5; fwrite(b, sizeof(int), 1, a); fclose(a); } 我只是猜测一下,但是我认为您得到了一个构建错误,因为写入的第一个参数应该是指针,但是您提供了一个int值 通过使用运算符和的地址获取变

我无法将5添加到文件中。我知道如果你在数组中添加5,它将解决问题。但我不需要数组

int main(void)
{
    FILE* a = fopen("bin.bin", "wb");
    int b = 5;
    fwrite(b, sizeof(int), 1, a);
    fclose(a);
}
我只是猜测一下,但是我认为您得到了一个构建错误,因为写入的第一个参数应该是指针,但是您提供了一个
int

通过使用运算符
的地址获取变量
b
的指针,可以很容易地解决这个问题:

fwrite(&b, sizeof b, 1, a);

什么阵列?什么问题?对于未来的问题,请花些时间阅读,阅读SO,阅读,以及。简言之:如果您询问有关生成错误或警告的问题,则在问题本身中包含完整的生成输出,复制粘贴为文本。