728x90
#include <iostream>
#include <string>
using namespace std;

int main()
{
	string sentence = "i like coding";
	sentence.erase(remove(sentence.begin(),
		sentence.end(), ' '), sentence.end());

	cout << sentence << endl;
	return 0;
}

 

 

문자열 변수를 선언합니다.

 

문자열에서 특정 문자만 제거할 때는 erase와 remove 함수를 함께 사용합니다.

erase 함수의 첫번째 인자로 remove 함수가 호출되었는데, 이 함수는 특정 문자가 있는 모든 인덱스를 erase 함수에게

알려줍니다.

첫 번째 인자 begin은 문자열의 시작 위치, 두 번째 인자 end 는 문자열의 마지막 위치 세번째 인자 ''는 공백입니다.

문자열의 시작에서 마지막 위치까지 순회하며 공백의 모든 위치를 erase 함수에 리턴합니다.

 

C언어 에서는 반복문을 이용해 문자열을 문자 단위로 조회했지만 c++에는 이처럼 강력한 기능이 있기 때문에 단 한줄로 기능 구현이 가능합니다.

 

 

728x90