簡體   English   中英

使用擦除和刪除從字符串中刪除字符

[英]Removing characters from a string using erase and remove

我在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函數返回的迭代器不兼容,但與擦除方法無關,但顯然應該可以。 我該如何解決?

您包括哪些標題? 看起來編譯器看到的唯一std::remove<cstdio>的一個(也許是通過<iostream>或其他iostream處理器之一包含的)。 如果包含<algorithm> ,則應該找到正確的一個。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM