gpt4 book ai didi

c++ - 字符串替换和奇怪的字符

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:40:14 26 4
gpt4 key购买 nike

我在 char* 中有一个 HTML 数据,我想逐行获取它,进行一些替换,然后将它们全部添加到一个字符串中。这是我使用的代码

std::string to, finalData;
finalData = "";
char* char_array = strtok(data, "\n");
while(char_array){
finalData += std::string(char_array);
char_array = strtok(NULL, "\n");
}

问题是我在结尾处得到的数据 (finalData) 有很多 ^M 字符,我无法搜索它有一个特殊的字符。有什么办法可以彻底消除这个角色吗?我猜它与从 c 数组到 c++ 字符串的转换以及 \n 相关,因为制表符由 ^I 表示,而 cntrl 表示为 ^

最佳答案

看来您是在 Windows 系统上,或者数据源自 Windows 系统。在 Windows 系统上,换行符实际上是两个字符:"\r\n"。您看到的 ^M 是该换行序列的回车符 ('\r')。

删除这些额外字符的一种方法是使用 std::string::findstd::string::erase在一个循环中。

另一种方法是逐个字符地手动复制到新的 std::string,除非字符是 '\r'

关于c++ - 字符串替换和奇怪的字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13722618/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com