- 130 名前:デフォルトの名無しさん [2007/07/30(月) 00:45:12 ]
- 質問です
「あいうえお」と書いた外部ファイルを読み込んで1文字画面に出力するという操作を実装しようとしたら文字化けしてしまいました。 理由は文字コードが0x82A0なのに対し0x82までしか読み込んでなかったからみたいなのですが、 FILE* fp; wint_t ch; TCHAR s; if( fopen_s(&fp, "word.dat", "r") ) { MessageBox(NULL, TEXT("ファイルオープンに失敗"), NULL, MB_OK | MB_ICONSTOP); exit(-1); } for(ch=fgetwc(fp); ch!=EOF; ch=fgetc(fp)) { wsprintf(&s, TEXT("%d"), ch); MessageBox(NULL, &s, NULL, MB_OK); } fclose(fp); これだと1バイト分しか読み込まないのでしょうか? また、2バイト読み込むにはどうしたらいいのでしょうか? 使ってる環境は、 WindowsXP Home Edition VC++2005 Express Edition です。
|

|