Bye Bye Moore

猫マンション建築の野望を胸に零細事業主として資本主義の荒波に漕ぎ出したアラサー男の技術メモ

boostライブラリでCSVをパース

boostはC++標準委員の中の人が関わってつくった、最強ライブラリです。
数学系やパーサー系の強力なのが揃っています。

実際のところ

#include <iostream>
#include <string>
#include <boost/tokenizer.hpp>
#include <boost/foreach.hpp>
using namespace std;

typedef boost::tokenizer< boost::escaped_list_separator<char> >
BOOST_TOKENIZER_ESCAPED_LIST;

void dump(BOOST_TOKENIZER_ESCAPED_LIST &tokens)
{
        BOOST_FOREACH(string s, tokens) {
                cout << "<" << s << "> ";
        }
        cout << endl;
}

int main(int argc, char *argv[])
{
        string str1("12,34\n56,78\n");

        BOOST_TOKENIZER_ESCAPED_LIST tokens1(str1);
        dump(tokens1);

        return 0;
}