255より大きい値を(fputc
を介して)ファイルに書き込むとどうなりますか?ここで fputcとfgetc(C言語)の値が255を超えていますか?
inputFile = fopen("arx.txt", "wr");
int a = 253;
for (int i = 0; i < 5; i++) {
printf("writing %d\n", a);
fputc(a++, inputFile);
}
int b = 2 * 253;
for (int i = 0; i < 5; i++) {
printf("writing %d\n", b);
fputc(b++, inputFile);
}
、それは私がファイルで見るものだ
ύώϊϋόύώ私が代わりにアレイにこれらの値を記述する必要が
私はfputc
とfgetc
の内部で何が起こるか知っていなければなりません。
助けが必要ですか?
ドキュメントを読むことができます。 [** man fputc'](https://linux.die.net/man/3/fputc)から:* fputc()は、文字c、**をunsigned char **にキャストしてストリームに書き出します。* –
' "wr"は 'fopen()'の標準モード文字列ではありません。 – chqrlie
おそらくこれはあなたの役に立つかもしれません:http://www.cprogramming.com/tutorial/unicode.html値が> 255の場合、あなたはunsigned charの範囲外です。そのため、char型ではなく、short型やint型などのより大きなデータ型として値を扱う必要があります。もちろん、これを行うには、通常の文字処理関数を避けなければならないでしょう。その多くはこれらの大きな値と互換性がないからです。 – SpencerD