我从Post获得一个字符串,但字符串是这样的:
?重新= 784D30879 \ u0026rr = POH0525 \ u0026tt = 525.100000 \ u0026id = 0958567C-20DC-44B4-9FD0-1AD13453DEBF4
我想要:
?RE = 784D30879&安培; RR = POH0525&安培; TT = 525.100000和ID = 0958567C-20DC-44B4-9FD0-1AD13453DEBF4
我正在使用一个函数来替换字符串中的字符,但它向我发送了以下错误:a universal character name cannot designate a character in the basic character set
所以我正在调用函数:
message = replaceChars(message, string("\u0026"), string("&"));
这就是功能:
string replaceChars(string stringToChange, const string& charToChange, const string& newChar)
{
size_t initialPosition = 0;
while((initialPosition= stringToChange.find(charToChange, initialPosition)) != string::npos)
{
stringToChange.replace(initialPosition, charToChange.length(), newChar);
initialPosition += newChar.length();
}
return stringToChange;
}
我无法理解错误。
答案 0 :(得分:3)
您应该使用"\\u0026"
代替"\u0026"