You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何修复C++中移除字符串所有指定实例时的乱码问题

解决C++字符串替换"amp;"时的乱码问题

你的核心问题在于循环中重复调用find方法,虽然单线程环境下理论上不会出错,但这种写法存在冗余,且在某些场景下可能引发意外的位置偏移(比如字符串修改后的状态导致第二次find的结果不符合预期)。同时,乱码也可能和输出编码或字符串中的特殊字符有关,以下是解决方案:

修正后的代码

将循环改为仅执行一次查找并复用结果,避免重复查找的潜在问题:

#include <iostream>
#include <string>

using namespace std;

int main() {
    string DownloadLink = "https://rr2---sn-gjo-w43l.googlevideo.com/videoplayback?expire=1685464604&amp;amp;ei=vNF1ZPypCYLk8wS04YS4Bw&amp;amp;ip=193.135.13.240&amp;amp;id=o-AOroxIeyjf0SXpp4Jjav3mMxHNrQnAmWFHliIzDxKFK8&amp;amp;itag=22&amp;amp;source=youtube&amp;amp;requiressl=yes&amp;amp;mh=xJ&amp;amp;mm=31%2C29&amp;amp;mn=sn-gjo-w43l%2Csn-ab5sznly&amp;amp;ms=au%2Crdu&amp;amp;mv=m&amp;amp;mvi=2&amp;amp;pl=24&amp;amp;initcwndbps=248750&amp;amp;spc=qEK7B7YCjgMFmSN1lRYNJdgmcwOfjSE&amp;amp;vprv=1&amp;amp;svpuc=1&amp;amp;mime=video%2Fmp4&amp;amp;ratebypass=yes&amp;amp;dur=1535.256&amp;amp;lmt=1685416420579114&amp;amp;mt=1685442532&amp;amp;fvip=1&amp;amp;fexp=24007246%2C24362688%2C51000022&amp;amp;beids=24350017&amp;amp;c=ANDROID&amp;amp;txp=4318224&amp;amp;sparams=expire%2Cei%2Cip%2Cid%2Citag%2Csource%2Crequiressl%2Cspc%2Cvprv%2Csvpuc%2Cmime%2Cratebypass%2Cdur%2Clmt&amp;amp;sig=AOq0QJ8wRAIgOFevBFo84_aL0L8hSD1vwztRDGStTF6OaohO4gA8OIUCIE1wN5685dZ7FROQXO9W7BOv4thF8B3KxFE6iefy60xS&amp;amp;lsparams=mh%2Cmm%2Cmn%2Cms%2Cmv%2Cmvi%2Cpl%2Cinitcwndbps&amp;amp;lsig=AG3C_xAwRgIhAOO9mtQzsKDrCes2EPmTwOyB8QtGblPFo30I9VrOsSnMAiEAh91ImIfeaugrIfJ4Q0U30viktdo4sWHv0ywQV0kfjt8%3D&amp;amp;title=Ages+1+-+100+Fight+For+$500,000";
    
    size_t pos;
    // 仅执行一次find并复用结果,避免重复查找的冗余和潜在问题
    while ((pos = DownloadLink.find("amp;")) != string::npos) {
        DownloadLink.replace(pos, 4, "");
    }
    
    cout << DownloadLink << endl;
    return 0;
}

额外排查方向

如果修改后仍有乱码:

  • 检查控制台输出编码与字符串编码是否一致(比如UTF-8和GBK的冲突),可以尝试将输出写入文件查看内容是否正常。
  • 遍历字符串输出每个字符的ASCII值,排查是否存在非ASCII控制字符干扰。

内容的提问来源于stack exchange,提问作者EthanSteel

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.20 14:24:57