it공부정리

[C++] 문자열 공백(특정 문자열) 기준으로 분리하기

해랑쓰 2021. 10. 8. 10:07
728x90
반응형

C++이 문자열 기준으로 스플릿 해주는 함수가 없어서 스스로 분리해야 되길래 ㅠㅠㅋㅋㅋ

어떻게 분리하는지 찾아보았다. for문 돌려서 스스로 특정 문자열 기준으로 잘라줄거 아니면 strtok함수를 쓰는 것 같다.

 

string을 char배열로 변환해서 strtok으로 분리한 후 다시 string형태로 저장하는데 외우면 편할거 같고 귀찮으면 안쓸거 같기도.. ㅎㅎ javascript으로 split()쓰다가 c++ 내장함수 없어서 당황했네

 

	string str_arr[1000];
	string a = "test is good and life is goood";
	char str_buff[1000];
	strcpy(str_buff, a.c_str());

	char *tok = strtok(str_buff, " ");
	int cnt = 0;
	while (tok != nullptr) {
		str_arr[cnt++] = string(tok);
		tok = strtok(nullptr, " ");
	}
	for (int i = 0; i < cnt; i++) {
		cout << str_arr[i] << "\n";
	}

 

참고 출처

https://kamang-it.tistory.com/entry/cstring%EB%AC%B8%EC%9E%90%EC%97%B4-%EC%9D%B4%EC%95%BC%EA%B8%B0-2-%EB%AC%B8%EC%9E%90%EC%97%B4%EC%9D%84-%ED%8A%B9%EC%A0%95-%EB%AC%B8%EC%9E%90%EC%97%B4%EB%A1%9C-%EC%9E%90%EB%A5%B4%EA%B8%B0-%EB%AC%B8%EC%9E%90%EC%97%B4-%ED%86%A0%ED%81%AC%EB%82%98%EC%9D%B4%EC%A7%95?category=693870

728x90
반응형