我知道
fwrite(&variable,sizeof(datatype),<count>,<filepointer>);
将数据写入二进制文件。但是如果我想将字符'c'直接写入二进制文件(不使用缓冲区变量)怎么办。放不下
fwrite(&'c',sizeof(datatype),<count>,<filepointer>);
这可能吗?
我知道
fwrite(&variable,sizeof(datatype),<count>,<filepointer>);
将数据写入二进制文件。但是如果我想将字符'c'直接写入二进制文件(不使用缓冲区变量)怎么办。放不下
fwrite(&'c',sizeof(datatype),<count>,<filepointer>);
这可能吗?
使用 putc 或 fputc (两者具有相同的签名):
int putc(int c, FILE *stream);
如果您对 putc 与 fputc 感兴趣,请查看下面的评论,他们比我更了解 :)
在C
中,您无法获得常量的地址。所以不,你不能。
尝试
fwrite("c",sizeof(datatype),<count>,<filepointer>);
例如
fwrite("c",1,1,fileptr);
注意:我自己没有测试过。但我怀疑这应该可行。
埃里克评论后添加:
fwrite((char []){'c'}, 1, 1, fileptr);
^^这种方法的优点是,就像 char 一样,您也可以插入整数或任何其他标准数据类型。