Windows Runtime Cpp 文字列操作 新しいページはコチラ

提供: yonewiki
移動: 案内, 検索
(文字列の比較 WindowsCompareStringOrdinal(関数))
(文字列のNULL値確認 WindowsStringHasEmbeddedNull(関数))
1,013行: 1,013行:
  
 
HSTRING hStr1, hStr2;
 
HSTRING hStr1, hStr2;
INT32 i32CompResult;
+
BOOL B_Result;
 
const wchar_t *cStr1 = L"あきたけん";
 
const wchar_t *cStr1 = L"あきたけん";
const wchar_t *cStr2 = 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"文字列2  =%s\n", WindowsGetStringRawBuffer(hStr2, 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 = WindowsCompareStringOrdinal(hStr1, hStr2, &i32CompResult);
+
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"比較結果  =%d\n", i32CompResult);
+
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  =あきたけん
文字列2  =おおさかふ
+
  hStr1_Address=01459DC0, hStr2_Address=0118F938
  hStr1_Address=0023B778, hStr2_Address=00CFFB60
+
 
  文字列の比較に成功しました。
 
  文字列の比較に成功しました。
 
   
 
   
  比較結果  =-1
+
  cStr1
 +
比較結果(B_Result == true)  =0
 +
 +
文字列の比較に成功しました。
 +
 +
cStr2
 +
比較結果(B_Result == true)  =1
 +
 
  hStr2文字列の削除に成功しました。
 
  hStr2文字列の削除に成功しました。
 
  hStr1文字列の削除に成功しました。
 
  hStr1文字列の削除に成功しました。
  続行するには何かキーを押してください . . .
+
  続行するには何かキーを押してください . . .  
  
  
 
[[Windows Runtime Cpp]]へ戻る
 
[[Windows Runtime Cpp]]へ戻る

2017年5月27日 (土) 00:00時点における版



個人用ツール
名前空間

変種
操作
案内
ツールボックス