4

そんなこと知ってる

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

データをバイナリ ファイルに書き込みます。しかし、文字 'c' を (バッファー変数を使用せずに) バイナリ ファイルに直接書き込みたい場合はどうすればよいでしょうか。置けない、

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

これは可能ですか?

4

3 に答える 3

4

putc または fputc を使用します (どちらも同じ署名を持っています)。

int putc(int c, FILE *stream);

putc と fputc に興味がある場合は、以下のコメントをチェックしてください。彼らは私よりもよく知っています :)

于 2012-12-11T13:19:18.420 に答える
0

ではC、定数のアドレスを取得できません。いいえ、できません。

于 2012-12-11T13:19:58.020 に答える
0

試す

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

例えば

fwrite("c",1,1,fileptr);

注:私は自分でテストしていません。しかし、これは機能するはずだと思います。

エリックによるコメントの後に追加:

fwrite((char []){'c'}, 1, 1, fileptr);

^^このアプローチの利点は、char と同様に、整数やその他の標準データ型も挿入できることです。

于 2012-12-11T13:20:09.883 に答える