我要翻译的内容是:
但是Visual Studio的输出显示如下:http://pastebin.com/s6tXQ48N。
我说的CString类型是微软的。
我尝试了两种方法;
方法1)使用在msdn网站上找到的Remove()和Replace()函数,但Visual c++显示Error:argument of type "const char*" is incompatible with argument of type "wchar_t"
具体的代码如下:
#include <cstring>
CString sTmp= sBody.Mid(nOffset);
CString sFooter= L"https://" + sTmp.Mid(0, nEnd );
sFooter.Remove("amp;");
我不想一次只移除一个字符,因为这样会把其他的“a”也一起删除。
出于某些原因,当我将sFooter转换为std :: string时,字符串中会出现不应该存在的随机“amp;”...
我是这样将sFooter转换为std :: string的:
CT2CA p (sFooter);
string str (p);
方法2)将CString转换为std :: string,然后使用erase()和remove()来去掉“amp;”
#include <string>
#include <algorithm>
sFooter2.erase(std::remove(sFooter2.begin(), sFooter2.end(), "amp;"), sFooter2.end());
但是Visual Studio的输出显示如下:http://pastebin.com/s6tXQ48N。