1
이 솔루션은 스택 오버플로 및 문자열에서 문자를 제거하기위한 다른 포럼에서 발견되었습니다. 내가 할 줄 문자열에서 공백을 제거하고 싶어 말 : currentLine 문자열의 이름입니다지우기 및 제거를 사용하여 문자열에서 문자 제거
currentLine.erase(std::remove(currentLine.begin(), currentLine.end(), ' '), currentLine.end());
합니다.
것은 이런 종류의 사람들을 위해 일을 표시하지만 난 그것을 사용하는 경우 내가 얻을 : 컴파일 오류로
/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*)'|
. 필자는 iterator가 std :: remove 함수로 인해 반환되는 iterator와 관련이 있다고 생각합니다. 그러나 erase 메서드로는 작동하지 않지만 분명히 작동해야합니다. 이 문제를 어떻게 해결할 수 있습니까?
currentLine의 선언을 보여 주실 수 있습니까? – Borgleader
간단한 테스트 케이스를 게시하십시오. – juanchopanza