// string tokenizer
void Tokenize(const string& str, vector<string>& tokens, const string& delimiters = ",")
{
// 맨 첫 글자가 구분자인 경우 무시
string::size_type lastPos = str.find_first_not_of(delimiters, 0);
// 구분자가 아닌 첫 글자를 찾는다
string::size_type pos = str.find_first_of(delimiters, lastPos);
while (string::npos != pos || string::npos != lastPos)
{
// token을 찾았으니 vector에 추가한다
tokens.push_back(str.substr(lastPos, pos - lastPos));
// 구분자를 뛰어넘는다. "not_of"에 주의하라
lastPos = str.find_first_not_of(delimiters, pos);
// 다음 구분자가 아닌 글자를 찾는다
pos = str.find_first_of(delimiters, lastPos);
}
}
'프로그래밍 > C/C++' 카테고리의 다른 글
C++에서 소문자, 대문자 바꾸기 (0) | 2011.10.11 |
---|---|
getline(cin, temp); (0) | 2011.09.26 |
Visual Studio 2010에서 콘솔 창이 바로 꺼질 때 (0) | 2011.06.22 |
String to Integer & Integer to String (0) | 2011.05.27 |
Visual Studio 2010 에서 실행창이 바로 꺼질 때 (0) | 2011.05.27 |