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將VS的fputc檢查下面的評論,他們知道比我好:)
在C
,你不能得到一個常量的地址。所以不,你不能。
嘗試
fwrite("c",sizeof(datatype),<count>,<filepointer>);
例如
fwrite("c",1,1,fileptr);
注:我沒有自己測試過。但我懷疑這應該起作用。由Eric評論後
添加:
fwrite((char []){'c'}, 1, 1, fileptr);
的^^的優點這種方法,就像字符,你可以插入一個整數或任何其他標準數據類型也。
或'putc',可能會更快一些。 –
@larsmans謝謝,改變 – BlackBear
我的好奇心:putc和fputc有什麼區別? – anishsane