알고리즘(アルゴリズム)/자주 까먹는 알고리즘(よく忘れるアルゴリズム)
C++ - 2개 이상의 Delimiter를 사용한 Parsing Template
JIN_YOUNG _KIM
2023. 1. 24. 06:04
strtok()
C언어 : #include <string.h>
C++ : #include <cstring>
string s;
char* num;
.....
void parsing_template() {
num = strtok((char*)s.c_str(), "[,]");
while (num != NULL) {
v.emplace_back(num);
num = strtok(NULL, "[,]");
}
}
( 위 파싱 코드를 템플릿 마냥 외우자)
C++의 문자열 스타일(string)을 C언어 문자열 스타일(Char*)로 전환을 해 줘야 한다.
이때 사용되는 함수는 string :: c_str()이다.
string cppStr = "CPPstring";
const char * cStr2 = cppStr.c_str();
string :: c_str()은 반환형이 const char* 인 것에 주의하자!!
c_str()을 이용하여 string -> char* 로 변환하기 위하여 (char*)s.c_str()과 같은 명시적 형변환을 해줘야 한다.