C 为什么fwrite没有';不能在二进制模式下工作?

C 为什么fwrite没有';不能在二进制模式下工作?,c,C,为什么打印时得到0? 我尝试了“w”模式,但不起作用。如何输入它?您应该fclose(bfp)以确保在打开数据进行读取之前将数据刷新到文件中。还应检查所有函数调用的返回值是否存在任何错误。我将“fclose(bfp)”位置移到“fwrite”之后。但是我如何才能找到所有函数调用的任何错误的这个值呢?if(fopen(..)==NULL){perror(“文件打开失败”);return-1;}。也就是说,检查每个函数调用的返回值。阅读每个函数的手册页,它会告诉您错误时返回的值。我试图对其进行编码,

为什么打印时得到0?
我尝试了“w”模式,但不起作用。如何输入它?

您应该
fclose(bfp)
以确保在打开数据进行读取之前将数据刷新到文件中。还应检查所有函数调用的返回值是否存在任何错误。我将“fclose(bfp)”位置移到“fwrite”之后。但是我如何才能找到所有函数调用的任何错误的这个值呢?
if(fopen(..)==NULL){perror(“文件打开失败”);return-1;}
。也就是说,检查每个函数调用的返回值。阅读每个函数的手册页,它会告诉您错误时返回的值。我试图对其进行编码,但它不是“NULL”。“文件打开错误”没有出现。但是如果我在1452中输入“wb”,输出应该是1452。?为什么号码371722出来了?哦,我的天啊!!!!!!!!!!我解决了。非常感谢你。你会得到祝福的。
int main()
{

    FILE* bfp = fopen("student.dat", "wb"); 
    int n = 1452;       
    fseek(bfp, 0, SEEK_SET);
    fwrite(&n, sizeof(int), 1, bfp);

    FILE* rfp = fopen("student.dat", "rb");
    int read = 0;
    fread(&read, sizeof(read), 1, rfp);
    printf("%d", read);

    fclose(bfp);
    fclose(rfp);
    return 0;
}