ATL/MFCのCStringを使ってstd::wcoutに出力

naohiro19
記事: 256
登録日時: 14年前
住所: 愛知県

ATL/MFCのCStringを使ってstd::wcoutに出力

投稿記事 by naohiro19 » 11年前

CODE:

#include 
#include 
#include 

int main()
{
	CString str("Hello world!");
	std::wcout.imbue(std::locale("Japanese", std::locale::ctype));
	std::wcout << str.GetString() << std::endl;
	return 0;
}
  1. ATLのatlstr.hをインクルードする
  2. std::wcout.imbueにロケールを行っておく
  3. std::wcoutに出力する
CStringはコンソール画面に出力するときに GetString関数を呼び出さないと「00393460」と表示されてしまいます。

アバター
みけCAT
記事: 6734
登録日時: 14年前

Re: ATL/MFCのCStringを使ってstd::wcoutに出力

投稿記事 by みけCAT » 11年前

「00393460」の正体は知らないのですか?
環境依存ではなく、常に「00393460」と表示されるのですか?