ページ 1 / 1
ファイル出力すると文字化け(C言語)
Posted: 2012年10月20日(土) 10:29
by Jimmy
コード:
#include<stdio.h>
#include<time.h>
#define MAX 50
int main() {
int array[MAX];
int i;
FILE *fp;
fp = fopen("test.txt", "w");
// 乱数代入
srand((unsigned)time(NULL));
for(i = 0; i < MAX; i++) {
fprintf(fp,"%d ",array[i] = rand()%10);
printf("%d ",array[i]);
}
fclose(fp);
return 0;
}
このように文字化けします↓
‷′‴′‶‹‹‶″″‰‴‶‱‰‸″″‱‶‵‷‰″‹‰‶‸‰‸‸‱‸′‸‶‷‵‹‴‱‴‱‱‱‹‰‵′‶
15行目の%dのあとの半角スペースを取り除けば、思い通りの結果になります。
ですが、半角スペースを入れたいので、質問させていただきました。原因を教えてください。
Re: ファイル出力すると文字化け(C言語)
Posted: 2012年10月20日(土) 11:30
by softya(ソフト屋)
当方の環境では、文字化けしません。
当方の環境:Visual C++2008コマンドライン cl test.cでコンパイル。
Re: ファイル出力すると文字化け(C言語)
Posted: 2012年10月20日(土) 12:59
by tk-xleader
質問するときは、コンパイル環境と、実行環境を書きましょう。書いてない場合、回答者の側がその現象を再現することができない場合があります。
Re: ファイル出力すると文字化け(C言語)
Posted: 2012年10月20日(土) 16:12
by ホヅミ
ファイルに書き込んだら最後は改行コードを入れてあげてください
バイナリ上では正常に書き込まれていますが、メモ帳では文字化けして表示されてしまいます。
バイナリエディタでアスキーコードとにらめっこするとわかりやすいと思います。
Re: ファイル出力すると文字化け(C言語)
Posted: 2012年10月20日(土) 20:17
by Jimmy
皆さんありがとうございます。環境が関わることということがわかりました。
それから、最後に改行コードちゃっといれるようにします。