Windows Runtime Cpp 文字列操作 新しいページはコチラ
提供: yonewiki
(→文字列の比較 WindowsCompareStringOrdinal(関数)) |
(→文字列のNULL値確認 WindowsStringHasEmbeddedNull(関数)) |
||
1,013行: | 1,013行: | ||
HSTRING hStr1, hStr2; | HSTRING hStr1, hStr2; | ||
− | + | BOOL B_Result; | |
const wchar_t *cStr1 = L"あきたけん"; | const wchar_t *cStr1 = L"あきたけん"; | ||
− | + | wchar_t cStr2[1] = L""; | |
size_t length = wcslen(cStr1); | size_t length = wcslen(cStr1); | ||
1,028行: | 1,028行: | ||
wprintf_s(L"hStr1文字列の生成に成功しました。\n"); | wprintf_s(L"hStr1文字列の生成に成功しました。\n"); | ||
} | } | ||
+ | |||
+ | cStr2[0] = 0x24;//wchar_t型としては不安全な代入(サンプル向けの強行代入) | ||
length = wcslen(cStr2); | length = wcslen(cStr2); | ||
1,041行: | 1,043行: | ||
wprintf_s(L"文字列1 =%s\n", WindowsGetStringRawBuffer(hStr1, nullptr)); | wprintf_s(L"文字列1 =%s\n", WindowsGetStringRawBuffer(hStr1, nullptr)); | ||
− | |||
wprintf_s(L"hStr1_Address=%p, hStr2_Address=%p\n", hStr1, &hStr2); | wprintf_s(L"hStr1_Address=%p, hStr2_Address=%p\n", hStr1, &hStr2); | ||
− | hr = | + | hr = WindowsStringHasEmbeddedNull(hStr1, &B_Result); |
if (FAILED(hr)) { | if (FAILED(hr)) { | ||
wprintf_s(L"文字列の比較に失敗しました。\n"); | wprintf_s(L"文字列の比較に失敗しました。\n"); | ||
1,055行: | 1,056行: | ||
wprintf_s(L"\n"); | wprintf_s(L"\n"); | ||
− | wprintf_s(L" | + | wprintf_s(L"cStr1\n"); |
+ | wprintf_s(L"比較結果(B_Result == true) =%d\n", (B_Result == TRUE)); | ||
+ | wprintf_s(L"\n"); | ||
+ | |||
+ | hr = WindowsStringHasEmbeddedNull(hStr2, &B_Result); | ||
+ | if (FAILED(hr)) { | ||
+ | wprintf_s(L"文字列の比較に失敗しました。\n"); | ||
+ | _CrtDbgBreak(); | ||
+ | return 0; | ||
+ | } | ||
+ | else { | ||
+ | wprintf_s(L"文字列の比較に成功しました。\n"); | ||
+ | } | ||
+ | |||
+ | wprintf_s(L"\n"); | ||
+ | wprintf_s(L"cStr2\n"); | ||
+ | wprintf_s(L"比較結果(B_Result == true) =%d\n", (B_Result == TRUE)); | ||
+ | wprintf_s(L"\n"); | ||
hr = WindowsDeleteString(hStr2); | hr = WindowsDeleteString(hStr2); | ||
1,082行: | 1,100行: | ||
return 0; | return 0; | ||
− | |||
} | } | ||
</syntaxhighlight> | </syntaxhighlight> | ||
1,091行: | 1,108行: | ||
hStr2文字列の生成に成功しました。 | hStr2文字列の生成に成功しました。 | ||
文字列1 =あきたけん | 文字列1 =あきたけん | ||
− | + | hStr1_Address=01459DC0, hStr2_Address=0118F938 | |
− | hStr1_Address= | + | |
文字列の比較に成功しました。 | 文字列の比較に成功しました。 | ||
− | + | cStr1 | |
+ | 比較結果(B_Result == true) =0 | ||
+ | |||
+ | 文字列の比較に成功しました。 | ||
+ | |||
+ | cStr2 | ||
+ | 比較結果(B_Result == true) =1 | ||
+ | |||
hStr2文字列の削除に成功しました。 | hStr2文字列の削除に成功しました。 | ||
hStr1文字列の削除に成功しました。 | hStr1文字列の削除に成功しました。 | ||
− | 続行するには何かキーを押してください . . . | + | 続行するには何かキーを押してください . . . |
[[Windows Runtime Cpp]]へ戻る | [[Windows Runtime Cpp]]へ戻る |