15

私は持っていstd::stringます。std:stringこれをに変換する必要がありCstringます。

を使用しようとしました.c_str()が、それは非ユニコード プロジェクト専用であり、ユニコード プロジェクトを使用します (非ユニコード プロジェクトは VS2013 で廃止されるため)。

std::stringCStringユニコードプロジェクトに変換する方法を教えてもらえますか?

4

4 に答える 4

3

UnicodeCStringのコンストラクターは受け入れるchar*ので、これを行うことができます:

std::string str = "string";
CString ss(str.c_str());
于 2013-10-28T12:25:40.363 に答える
2

ATL 変換マクロを使用します。CString を使用すると、すべてのケースで機能します。CString は MBCS または Unicode のいずれかです...コンパイラの設定によって異なります。

std::string str = "string";
CString ss(CA2T(str.c_str());
于 2013-10-27T14:53:10.950 に答える
-1

おまけ: 変換を頻繁に使用する場合は、マクロを定義できます。

#define STDTOCSTRING(s) CString(s.c_str())

コードが読みやすくなります。

于 2016-01-27T10:13:35.750 に答える