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

提供: yonewiki
移動: 案内, 検索
(文字列の抽出_指定始点~指定文字数 WindowsSubstringWithSpecifiedLength(関数))
(文字列の置換_置換検索文字と置換後文字変数個別指定 WindowsReplaceString(関数))
566行: 566行:
  
 
int main() {
 
int main() {
★ここにプログラムを貼り付けます★
+
HRESULT hr;
 +
setlocale(LC_ALL, "");
  
 +
hr = RoInitialize(RO_INIT_TYPE::RO_INIT_MULTITHREADED);
 +
if (FAILED(hr)) {
 +
wprintf_s(L"初期化に失敗しました。\n");
 +
_CrtDbgBreak();
 +
return 0;
 +
}
 +
else {
 +
wprintf_s(L"初期化に成功しました。\n");
 +
}
 +
 +
HSTRING hStr1, hStr2, hStr3, hStr4;
 +
const wchar_t *cStr1 = L"1234567890";
 +
const wchar_t *cStr2 = L"34";
 +
const wchar_t *cStr3 = L"43";
 +
size_t length = wcslen(cStr1);
 +
 +
length = wcslen(cStr1);
 +
hr = WindowsCreateString(cStr1, length, &hStr1);
 +
if (FAILED(hr)) {
 +
wprintf_s(L"hStr1文字列の生成に失敗しました。\n");
 +
_CrtDbgBreak();
 +
return 0;
 +
}
 +
else {
 +
wprintf_s(L"hStr1文字列の生成に成功しました。\n");
 +
}
 +
 +
length = wcslen(cStr2);
 +
hr = WindowsCreateString(cStr2, length, &hStr2);
 +
if (FAILED(hr)) {
 +
wprintf_s(L"hStr2文字列の生成に失敗しました。\n");
 +
_CrtDbgBreak();
 +
return 0;
 +
}
 +
else {
 +
wprintf_s(L"hStr2文字列の生成に成功しました。\n");
 +
}
 +
 +
length = wcslen(cStr3);
 +
hr = WindowsCreateString(cStr3, length, &hStr3);
 +
if (FAILED(hr)) {
 +
wprintf_s(L"hStr3文字列の生成に失敗しました。\n");
 +
_CrtDbgBreak();
 +
return 0;
 +
}
 +
else {
 +
wprintf_s(L"hStr3文字列の生成に成功しました。\n");
 +
}
 +
 +
hr = WindowsReplaceString(hStr1, hStr2, hStr3, &hStr4);
 +
if (FAILED(hr)) {
 +
wprintf_s(L"部分文字列の生成に失敗しました。\n");
 +
_CrtDbgBreak();
 +
return 0;
 +
}
 +
else {
 +
wprintf_s(L"置換文字列の生成に成功しました。\n");
 +
}
 +
wprintf_s(L"元文字列  =%s 検索文字列=%s 置換文字列=%s\n", WindowsGetStringRawBuffer(hStr1, nullptr), WindowsGetStringRawBuffer(hStr2, nullptr), WindowsGetStringRawBuffer(hStr3, nullptr));
 +
wprintf_s(L"置換後文字列=%s\n", WindowsGetStringRawBuffer(hStr4, nullptr));
 +
wprintf_s(L"hStr1_Address=%p, hStr2_Address=%p, hStr3_Address=%p, hStr4_Address=%p\n", hStr1, hStr2, hStr3, hStr4);
 +
 +
hr = WindowsDeleteString(hStr4);
 +
if (FAILED(hr)) {
 +
wprintf_s(L"hStr4文字列の削除に失敗しました。\n");
 +
_CrtDbgBreak();
 +
return 0;
 +
}
 +
else {
 +
wprintf_s(L"hStr4文字列の削除に成功しました。\n");
 +
}
 +
 +
hr = WindowsDeleteString(hStr3);
 +
if (FAILED(hr)) {
 +
wprintf_s(L"hStr3文字列の削除に失敗しました。\n");
 +
_CrtDbgBreak();
 +
return 0;
 +
}
 +
else {
 +
wprintf_s(L"hStr3文字列の削除に成功しました。\n");
 +
}
 +
 +
hr = WindowsDeleteString(hStr2);
 +
if (FAILED(hr)) {
 +
wprintf_s(L"hStr2文字列の削除に失敗しました。\n");
 +
_CrtDbgBreak();
 +
return 0;
 +
}
 +
else {
 +
wprintf_s(L"hStr2文字列の削除に成功しました。\n");
 +
}
 +
 +
hr = WindowsDeleteString(hStr1);
 +
if (FAILED(hr)) {
 +
wprintf_s(L"hStr1文字列の削除に失敗しました。\n");
 +
_CrtDbgBreak();
 +
return 0;
 +
}
 +
else {
 +
wprintf_s(L"hStr1文字列の削除に成功しました。\n");
 +
}
 +
 +
RoUninitialize();
 +
 +
_wsystem(L"pause");
 +
 +
return 0;
 
}
 
}
 
</syntaxhighlight>
 
</syntaxhighlight>

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



個人用ツール
名前空間

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