NDSでMQOビューアをつくる(2)
昨日のコードのC++版。とりあえずPC用で。
#include <stdio.h> #include <iostream> #include <string> #include <boost/xpressive/xpressive.hpp> using namespace std; int main(int argc, char *argv[]) { using namespace boost::xpressive; if (argc < 1) { return 1; } FILE *fp = fopen(argv[1], "r"); if (fp == NULL) { return 1; } sregex re = sregex::compile("(\\-?\\d+\\.?\\d*)|(\"[^\"]+\")|([_a-zA-Z][_a-zA-Z1-9]*)"); string str; char buf[1024]; while (fgets(buf, sizeof(buf) / sizeof(buf[0]), fp)) { str = buf; sregex_iterator it(str.begin(), str.end(), re); sregex_iterator end; for (; it != end; ++it) { cout << it->str() << endl; } } fclose(fp); return 0; }
Boost最高です。いちおうプロジェクト一式はここに置いてます。
さて、問題はこれがDSで動くかどうか。