替换Wchar_t

时间:2016-03-20 12:36:38

标签: c++ windows

如何替换wchar_t变量中的字符串?

wchar_t text[] = L"Start Notepad.exe";

我想将Notepad.exe替换为Word.exe

2 个答案:

答案 0 :(得分:2)

wchar_t只是一个字符,而不是字符串。在您的情况下,您需要std :: wstring,由wchar_t组成的字符串。以下是关于如何replace one substring with another的答案。

答案 1 :(得分:0)

基本上,您需要使用指针或索引变量,并将字符一一替换并以空字符结尾。

这里是一个示例,(请注意,C ++程序员可能讨厌此代码,但对于C程序员来说是可以接受的……):

wchar_t lpSrcText[] = L"Start Notepad.exe";
wchar_t const * lpReplace = L"Word.exe";

int i = 0;
while(*(lpReplace + i))
{
     lpSrcText[6 + i] = *(lpReplace + i);
     i++;
}
*(lpReplace + i) = L'\0';