18

Platform::String の内容を変換して、char* ベースの文字列を期待する関数で使用するにはどうすればよいですか? WinRT がこのためのヘルパー関数を提供していると思いますが、それらを見つけることができません。

ありがとう!

4

5 に答える 5

13

Platform::String::Data()wchar_t const*文字列の内容へのポインタを返します ( と同様std::wstring::c_str())。 Platform::Stringは不変の文字列を表すため、. を取得するためのアクセサーはありませんwchar_t*。変更するには、その内容を にコピーする必要がありますstd::wstring

aまたは aを直接取得する方法はありません。これは、ワイド文字を使用するためです (すべての Metro スタイル アプリは Unicode アプリです)。を使用してマルチバイトに変換できます。char*char const*Platform::StringWideCharToMultiByte

于 2012-07-31T18:01:27.507 に答える
1

raw Unicode 文字列である returnというString::Dataメソッドがあります。const char16*

Unicode から ascii などへの変換、つまりchar16*char*の変換は別の問題です。wchar最近はほとんどのメソッドに独自のバージョンがあるため、おそらく必要ありません。

于 2012-07-31T18:00:54.603 に答える