转换字符串 “\ u0026” 到 “&” 在C++
问题描述:
我从后得到一个字符串,但该字符串就这样产生了:转换字符串 “ u0026” 到 “&” 在C++
重新= 784D30879 \ u0026rr = POH0525 \ u0026tt = 525.100000 \ u0026id = 0958567C-20DC-44B4-9FD0-1AD13453DEBF4
,我想:
重新= 784D30879 & RR = POH0525 & TT = 525.100000 & ID = 0958567C-20DC-44B4-9FD0-1AD13453DEBF4
我正在使用函数来替换在串E字符,但它向我发送了以下错误: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;
}
我无法理解的错误。
答
您应该使用"\\u0026"
,而不是"\u0026"
你在哪里得到从字符串,并有可能得到它*不*&符号逃生? –