gpt4 book ai didi

c++ - 使用 erase 和 remove 从字符串中删除字符

转载 作者:行者123 更新时间:2023-11-30 00:51:26 25 4
gpt4 key购买 nike

我在 Stack Overflow 和其他论坛上找到了这个解决方案,用于从字符串中删除字符。假设我想从我会做的字符串中删除空格:

currentLine.erase( std::remove( currentLine.begin(), currentLine.end(), ' ' ), currentLine.end() );

其中 currentLine 是字符串的名称。

这种东西似乎对人们有用,但如果我使用它,我会得到:

/local/yrq12edu/Desktop/Bens_C++_Utilities/simuPOPtoFASTA/simuPOP2FASTA.cpp|54|error: cannot convert 'std::basic_string<char>::iterator {aka __gnu_cxx::__normal_iterator<char*, std::basic_string<char> >}' to 'const char*' for argument '1' to 'int remove(const char*)'|

作为编译错误。我认为这与 std::remove 函数返回的迭代器不使用 erase 方法有关,但显然它应该可以工作。我该如何解决这个问题?

最佳答案

您包含了哪些 header ?它看起来像唯一的 std::remove编译器看到的是 <cstdio> 中的那个(可能通过 <iostream> 或其他 iostream header 之一包含在内)。如果包括 <algorithm> , 你应该找到合适的。

关于c++ - 使用 erase 和 remove 从字符串中删除字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21914485/

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