본문 바로가기

Robotics/Software Tech.

[boost] string tokenizer


파일이나 문자열에서 필요한 데이터를 추출해야 하는 일이 프로그램을 짜다보면 빈번히 일어난다.
예를들면,

hello, world!

라는 문자열에서 hello와 world를 구분하여 얻어내기 위해서 ','를 기준으로 문자열을 잘라내야 한다.
이런작업을 자주 하기때문에 이런 일을 하는 클래스로 만들어놓으면 편하다.
근데, 이런것을 boost 라이브러리에서 지원해준단다.

boost 라이브러리를 설치를 해야한다.
그리고 아래처럼 쓰면 된다.

#include <boost/tokenizer.hpp>


void function
{
string _str = "hello,world";

boost::char_seperator<char> sep(",");
boost::tokenizer<boost::char_seperator<char>> token(_str,sep);

for(tokenizer<boost::char_seperator<char>>::iterator itr = token.begin(); itr!=token.end(); ++itr)
{
cout << *itr << "\n";
}
}

이런식으로 사용하면 될것같다.

boost를 사용하지않고 자신만의 tokenizer를 만들어도 좋겠지만, 이왕 만들어져있는거 잘 활용하는게 더 좋을것 같다.
표준 라이브러리를 사용했냐 안했냐까지 고민해야 할 필요가 없으니깐..

'Robotics > Software Tech.' 카테고리의 다른 글

HMM(Hidden Markov Model)을 이용한 Wiimote 제스쳐 인식  (0) 2009.03.12
[STL] string tokenizer  (0) 2009.03.11
[MFC]SDI기반 OpenGL 사용  (6) 2009.02.26
WIN32_LEAN_AND_MEAN  (0) 2009.02.21
Robot Control Software  (0) 2009.02.08