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