필자는 텍스트를 입력하고 공백을 건너 뛰는 방법을 알고 있지만 문자열 일 때 어때요? 코드 동안 나는 asdasd문자열에서 C++ skipws?
을
asdasd의 asdads 같은 문자열을 asdasd 얻고 그래서 그것을 모든 공간을 제거해야합니다. 그렇다면
skipws(string_text);
을 작성하는 방법이 있습니까?
필자는 텍스트를 입력하고 공백을 건너 뛰는 방법을 알고 있지만 문자열 일 때 어때요? 코드 동안 나는 asdasd문자열에서 C++ skipws?
을
asdasd의 asdads 같은 문자열을 asdasd 얻고 그래서 그것을 모든 공간을 제거해야합니다. 그렇다면
skipws(string_text);
을 작성하는 방법이 있습니까?
당신이 무엇을 의미 "제거"할
str.erase(std::remove(str.begin(), str.end(), ' '), str.end());
또는 <ctype.h>
에서 ::isspace
을 사용하여,
str.erase(std::remove_if(str.begin(), str.end(), ::isspace), str.end());
일반적인 방법은 없습니다. 검색/바꾸기를 병행하여 사용하거나 stringstream
(입력 문자열로 초기화 됨)을 사용하고 >>
을 사용하여 공백이없는 단어를 가져 와서 결과를 (다른/동일한) 문자열로 연결할 수 있습니다.
대체 할 기능은 무엇입니까? – sehe
@sehe - [std :: string :: replace] (http://www.cplusplus.com/reference/string/string/replace/) (및 [std :: string :: find] (http : // www .cplusplus.com/reference/string/string/find /)) – Attila
@Attila 그러면 O (N^2)가됩니다. – Potatoswatter
: 당신이 값
asdasdasdadsasdasdasdasd
로 문자열을 구성하려는 경우 삭제 - 삭제 관용구를 사용하여 ? 스플 라이스 된 스페이싱을 사용하여 문자열을 구성 하시겠습니까? 아니면 반복하는 동안 무시하고 싶습니까? – Potatoswatter