2011-10-20 147 views
6

'wchar_t *'を 'const char *'に変換するにはどうすればよいですか?'wchar_t *'を 'const char *'に変換する方法

C++ MFC VS2010を使用しています。

ありがとうございます。

+1

MFCの場合は、本当にCStringを持っていますか?私はいくつかのバージョンが古くなっていますが、変換を行うCString型のLPCSTRに対してキャスト演算子を使用しています。ワイド文字列からCStringAを作成して、それを変換することさえできるかもしれません。 – Rup

+0

この質問に対する技術的な回答は、孤立していることはめったにありません。 _Why_これを行う必要がありますか?例えば。コールバックインターフェイスを介してポインタを渡す場合は、単純なキャストは問題ありません。 – MSalters

+0

構造体にCHAR Name [256]を埋め込む必要があります。私はchar *の代わりにwchar_t *を持っています。 – Cynede

答えて

9

MSDNでwcstombsの機能を調べます。質問はMFCについてですと、私は次のことを示唆している

6

CStringA a = "Test"; 
CStringW w = L"Test"; 
a = CStringA(w); 
w = CStringW(a); 

私は通常、次の変換が必要になります。

CString t = _T("Test"); // depends on TCHAR type 
a = CStringA(t); // does not depend on TCHAR type 
w = CStringW(t); 

CStringWとCStringAがrespectivelly演算子LPCWSTRとLPCSTRを持っています。

関連する問題