7

私は DLL を作成しており、MSVC++2010 でユニコードとマルチバイトの設定を切り替えられるようにしたいと考えています。たとえば、-W および -A バージョンなどの代わりに_T("string")and LPCTSTRandを使用します。WIN32_FIND_DATA

今、ユニコード設定に応じて と のstd::string間で変化する std::strings が必要です。std::wstringそれは可能ですか?そうしないと、非常に複雑になる可能性があります。

4

1 に答える 1

12

Win32 API のようにしない理由: 内部でワイド文字を使用しDoSomethingA、入力を Unicode に単純に変換する関数の文字変換ファサードを提供します。

tstringつまり、次のように型を定義できます。

#ifdef _UNICODE
typedef std::wstring tstring;
#else
typedef std::string tstring;
#endif

またはおそらく:

typedef std::basic_string<TCHAR> tstring;
于 2011-05-26T01:25:09.370 に答える