c++ - 在 C++ 中将字符串 "\u0026"转换为 "&"

标签 c++ string replace

我从帖子中获取了一个字符串,但字符串是这样的:

?re=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

我正在使用一个函数来替换字符串中的字符,但它向我发送了以下错误:通用字符名称无法指定基本字符集中的字符

所以我调用函数:

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"

关于c++ - 在 C++ 中将字符串 "\u0026"转换为 "&",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45986366/

相关文章:

c++ - 限制构造函数的功能

xml - XSLT 从 xml 文件中的所有 url 中删除查询字符串

c++ - std::enable_if 不能用于禁用此声明

c++ - 错误 : expected ')' before '*' token

c++ - 如果已经创建了一个 mongocxx::instance 对象,则无法创建该对象

java - 什么时候在java中对字符串进行垃圾收集

c - C 中的字符串复制

java - 有没有办法在每一行打印出数组中不同数量的元素

python - Python中删除多列中的非中文元素

bash - sed:替换一段文本