2011-05-05 4 views
3

나는 공백으로 구문 분석하는 각 줄의 모든 공백 문자를 바꾸려고합니다. 주요 라인은 : I가 찾을 수replace_if를 문자열로 어떻게 사용합니까?

replace_if(theString.begin(), theString.end(), ::isspace, " "); 

제 (부분) 오류 : _ForwardIterator와 공극 STD "함수에서 :: replace_if

(_ForwardIterator, _ForwardIterator, _Predicate, CONST _Tp &) = __gnu_cxx :: __ normal_iterator, 표준 : : 할당>> _Predicate = INT (*) (int)를 던져(), _Tp은 = 문자 [2]] : 올바른 사용법은 무엇

여기에서 인스턴스화 이 상황에서 replace_if? Boost에 액세스 할 수 없으므로 순수한 C++ 제안을 선호합니다. ""문자열 ("")을 변경하려고했습니다. 나는 내 자신의 술어를 만들기 위해 노력했다. (나는 초보자이기 때문에이 해결책을 완전히 배제하지 않는다.) replace_if를 사용하는 것을 선호하지만이 상황에 너무 복잡한 이유를 설명하는 답변을 수락합니다. 감사.

답변

4

작은 따옴표로 문자 공간을 사용하고 싶습니다. 문자열은 문자열이 아닌 문자로 구성됩니다.

replace_if(theString.begin(), theString.end(), ::isspace, ' '); 
+0

이렇게하면 오류가 제거되고 이제는 원하는대로 작동합니다. 감사! – Allen

관련 문제