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
반응형