Windows Runtime Cpp 文字列操作 新しいページはコチラ
提供: yonewiki
(→生成 WindowsCreateString(関数)) |
(→生成 WindowsCreateString(関数)) |
||
39行: | 39行: | ||
hr = WindowsCreateString(cStr, length, &hStr); | hr = WindowsCreateString(cStr, length, &hStr); | ||
if (FAILED(hr)) { | if (FAILED(hr)) { | ||
− | wprintf_s(L" | + | wprintf_s(L"HSTRING文字列の生成に失敗しました。\n"); |
_CrtDbgBreak(); | _CrtDbgBreak(); | ||
return 0; | return 0; | ||
} | } | ||
else { | else { | ||
− | wprintf_s(L" | + | wprintf_s(L"HSTRING文字列の生成に成功しました。\n"); |
} | } | ||
− | wprintf_s(L"%s\n", WindowsGetStringRawBuffer(hStr, nullptr)); | + | wprintf_s(L"\n★%s\n\n", WindowsGetStringRawBuffer(hStr, nullptr)); |
hr = WindowsDeleteString(hStr); | hr = WindowsDeleteString(hStr); | ||
63行: | 63行: | ||
return 0; | return 0; | ||
+ | } | ||
</syntaxhighlight> | </syntaxhighlight> | ||
+ | |||
+ | 実行結果の出力結果 | ||
+ | 初期化に成功しました。 | ||
+ | HSTRING文字列の生成に成功しました。 | ||
+ | |||
+ | ★ワイド文字列 | ||
+ | |||
+ | hStr文字列の削除に成功しました。 | ||
+ | |||
+ | という長いサンプルになってしまいましたが、こういう感じですね。 | ||
+ | *WindowsCreateString(文字列配列先頭アドレス, 文字列調, HSTRING型変数のアドレス); | ||
+ | 引数: | ||
+ | 第1引数:文字列配列先頭アドレス サンプルプログラムでは wchar_t の配列cStrという変数で初期化文字列を与えて生成したものの先頭アドレスを引数にしています。cStr[]配列の先頭アドレスはcStrになります。管理人の場合はpcStrという変数名を使うのが流儀です。配列での初期化をするとポインタ変数としてcStrを宣言した意識が薄れる感じはありますが、そこまで神経質なプログラマはあまりみかけませんね。自分で覚えとけってことっすかね。 | ||
+ | 第2引数:文字列の長さをwcslen(cStr)で取得したものをsize_t型の変数lengthに取得していますので、サンプルではlengthを引数にしています。 | ||
+ | 第3引数:HSTRING型変数のアドレスを引数にします。 サンプルでは実体化されて宣言されたHSTRING型のhStrのアドレスを受け取るため&hStrとしています。 | ||
+ | |||
[[Windows Runtime Cpp]]へ戻る | [[Windows Runtime Cpp]]へ戻る |