是否可以直接将二进制文件写入常量值?

时间:2012-12-11 13:17:44

标签: c binaryfiles fwrite stdio

我知道

fwrite(&variable,sizeof(datatype),<count>,<filepointer>); 

将数据写入 二进制文件。但是,如果我想将字符“c”直接写入二进制文件(不使用缓冲区变量),该怎么办?我不能放,

 fwrite(&'c',sizeof(datatype),<count>,<filepointer>);

这可能吗?

3 个答案:

答案 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一样,你也可以插入一个整数或任何其他标准数据类型。