【使用環境】
WinXP, VS2005, C++, "Unicode 文字セットを使用する"設定
現在以下のようなコードを試しているのですが、何故か上手くいきません。
マルチバイトの際にWCHARをcharに置き換えたりした場合はちゃんと
動作したのに何故でしょう・・・。
ヘルプから探してみると、ロケールの設定らしきことが書いてありますが、
サンプルが見つからず苦戦しております。
以下のコードをどのように修正すれば正しく読み込めるようになるのでしょうか・・。
--- コード -------------------------------------------------
#include <iostream>
#include <cstdio>
#include <cstdlib>
#include <windows.h>
using namespace std;
// 1行読み込んで返す関数
WCHAR * LoadFile( WCHAR * FilePath ){
static WCHAR Buf[ 256 ] ={0};
FILE * fp = _wfopen( FilePath, L"r" );
fgetws( Buf, 256, fp );
fclose( fp );
return Buf;
}
int main(){
WCHAR * text = LoadFile( L"test.txt" );
cout << text;
}
--- 読み込むファイルの中身の文字列:test.txt ---------------
aあ
--- 実行結果 -----------------------------------------------
00417178続行するには何かキーを押してください . . .
No.1ベストアンサー
- 回答日時:
UNICODE文字列をcoutに食わせても無理ちゃいますか?
wcoutじゃないと。
この回答への補足
たびたびすみません。
1さんの回答をヒントにヘルプを探ってみると
ファイルの読み込みの前に
_wsetlocale( LC_ALL, L"Japanese");
とすることで日本語も読み込めるようになりました。
しかし、さらに質問なのですが、英語圏の方のPCでこれをやってしまうと
何か問題が発生するようなことは無いでしょうか・・・。
今作っているソフトは海外でも使われる予定のものなので・・・・。
あっ、なるほど。そういうことでしたか。
ところで、coutの代わりに
MessageBox( NULL, text, NULL, MB_OK );
とした場合、日本語が文字化けしてしまうのですが、こちらは何故なんでしょう・・
No.2
- 回答日時:
> 英語圏の方のPCでこれをやってしまうと
> 何か問題が発生するようなことは無いでしょうか・・・。
問題ありそうです。locale-code:"Japanese"が使えないかもしれません。
> MessageBox( NULL, text, NULL, MB_OK );
> とした場合、日本語が文字化けしてしまうのですが、
> こちらは何故なんでしょう・・
たとえばUNICODEモードでコンパイルしていない、とか。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- C言語・C++・C# このプログラミング誰か教えてくれませんか 1 2022/06/02 15:27
- C言語・C++・C# プログラミングの授業の課題です 1 2023/01/17 22:15
- C言語・C++・C# C++のcinの動作 5 2023/02/26 00:13
- C言語・C++・C# C++初心者です stirng 2 2022/09/20 20:43
- C言語・C++・C# c言語の問題の説明、各所ごとに 5 2023/07/26 11:03
- C言語・C++・C# #include <stdio.h>int main(void) { int buf[100] = 6 2022/11/01 22:45
- C言語・C++・C# C++プログラミングコードにポリモーフィズムを取り入れ方を教えてください。 2 2023/06/09 11:17
- Excel(エクセル) Excelにて、フォルダ内のTextファイルをマクロで統合すると文字化けしてしまう時の解消コード 4 2023/01/01 07:32
- C言語・C++・C# 宣言する関数の形が決まっている状態で、 str1とstr2の文字列をこの順に引っ付けてstrに保存し 2 2022/05/30 18:21
- Excel(エクセル) 【VBA】指定フォルダに格納中のテキストファイルをエクセルで処理し結果のエクセルを新規フォルダに保存 1 2022/03/25 14:19
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
ArduinoのジャイロモジュールMP...
-
mallocについて
-
C言語をコンパイルするとコンピ...
-
卒業研究でよく分からないとこ...
-
[C言語]fputsとfprintfの違い
-
gccを行ってもexeファイルが生...
-
C言語 列挙型(enum型)変数について
-
c言語
-
プログラムを斜めに並べる
-
win10で、正確な待ち時間の作り方
-
質問失礼します。 プログラム言...
-
大量のデータを読み込んで表示...
-
C言語 配列と関数の練習問題
-
システムエンジニアの適正について
-
どちのほうがすきですか?
-
Stuck
-
あなたは、Excelはどうやって学...
-
WindowsのCapsLock(キャップス...
-
double型が正常に認識されてい...
-
C言語の関数と配列に関する質問
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
gccを行ってもexeファイルが生...
-
あなたは、Excelはどうやって学...
-
WindowsのCapsLock(キャップス...
-
質問失礼します。 プログラム言...
-
double型が正常に認識されてい...
-
Notepad++の関数リスト表示でC...
-
どちのほうがすきですか?
-
Stuck
-
Notepad++の関数リスト表示の変...
-
ArduinoでMouse関数を使用して...
-
C言語の関数と配列に関する質問
-
C言語って古いですか?
-
Linuxでの開発環境構築や設定の...
-
Bitcoin、BTCはブロックチェー...
-
C++6.0でのresource.hについて
-
MACで動く実行ファイルをWindow...
-
C言語 列挙型(enum型)変数について
-
c言語
-
大量のデータを読み込んで表示...
-
こんなことてしますか??
おすすめ情報