Main Content

matlab::cpplib::convertUTF8StringToUTF16String

UTF-8 文字列を UTF-16 文字列に変換

説明

std::u16string & ustr convertUTF8StringToUTF16String(const std::string & str)

UTF-8 文字列 (ASCII または Unicode®) を UTF-16 文字列に変換します。この関数は、ASCII 文字列を起動オプション (initMATLABApplication に渡される) を表現するために必要な形式、関数名、または matlab::data::array に変換するために使用します。

リテラル文字列をパラメーターとして渡すときは、リテラルの char * 文字列に接頭辞 u を付けることで、より簡潔に convertUTF8StringToUTF16String と同じ効果が得られます。たとえば、長い initMATLABLibrary(app, convertUTF8StringToUTF16String("mylib")); の代わりに、initMATLABLibrary(app, u"mylib"); と記述して同じ結果が得られます。

メモ

接頭辞 u の使用は Visual C++® 2013 ではサポートされていません。

パラメーター

const std::string & str

UTF-8 (通常は ASCII) 文字列。

戻り値

std::u16string

UTF-16 でエンコードされた文字列。

例外

std::range_error

入力が有効な UTF-8 文字列でありません。

UTF-8 文字列を UTF-16 文字列に変換

auto app = initMATLABApplication(MATLABApplicationMode::IN_PROCESS);
const char * libName = getLibNameFromConfigFile(); // imaginary user-defined function
auto mylib = initMATLABLibrary(app, convertUTF8StringToUTF16String(libName));

バージョン履歴

R2018a で導入