2017-02-26 20 views
0

私はC言語ではかなり新しく、fputc()を使用してファイルに整数を格納しようとしています。この関数は、整数が異なる形式のファイルを見るときに機能します。 255の整数値にfputc()を使用してファイルに整数を格納すると、整数の書式が変更されます

1)fputc(ppm1->max, file1);

ppm1->maxポイントが、私はそれが「Y」として起動しますファイルを見てみます。たとえば

2)

fputc((char)ppm1->width, file1); 
fputc(' ',file1); 
fputc(ppm1->height, file1); 

ppm1->widthそれぞれ20及び16にppm1->heightポイントが、ファイルでは、それらはDC4 DLEとして表示します。

+1

あなただけの(拡張)[ASCII同等物](HTTPを見ているあなたのファイルにint型 例えば

fprintf(/*filePointer*/,"%s %s %s %d","Write","an","integer",12); 希望を書くことfprintf()を使用することができますascii.cl)を使用しています。元の生のバイナリ値はまだ正しいです。 –

答えて

1

あなたが見ているのは、整数値の文字表現です(unsigned intに変換されています)。

拡張されたASCII tableの場合、255の10進値はÿを表し、それがファイルに書き込まれます。

fputc((char)ppm1->width, file1);の場合は、fputc()が最初の引数としてintを取りますので、キャストは不要です。また、20と16の整数値は印刷不可能なASCIIを意味するため、ASCIIモードでは意味のある出力が表示されないことがあります。 //:

0

あなたは、このことができます:)

関連する問題