私は、次のコードへの出力を把握しようとしています:ファイル - 予期しない出力
#include <stdio.h>
int main()
{
FILE *f;
int i = 20;
if ((f = fopen("file.DAT", "wb")) != NULL) {
fwrite(&i, 4, 1, f);
fclose(f);
}
return 0;
}
32-bit
システム、paragraph sign
(小数点以下ascii
値182
)には、バイナリファイルに書き込まれます。
質問:ascii
の値がバイナリファイルに書き込まれるかどうかを確認するにはどうすればよいですか?
関数fwrite
の最初の引数は配列へのポインタですが、配列内の配列は定義されていません。バイナリファイルに書き込むバイトを追跡するには?
をお読みください。 ASCII値が182の段落記号ではありません。 – immibis
'&i'は' i'へのポインタを意味します。 'i'は整数ですので、' i'が指すアドレスから4バイトのメモリを 'file.DAT' –
@immibis:値「0x20」の場合のみ、*小数点の場合は「20」ではありません。文字としての「20」の解釈は、それを表示するソフトウェアによって異なります。 – usr2564301