Regex++でCSVデータをタブ区切りに変換
結果は標準出力ストリームへ
const char* srcfile = "test.csv"; FILE* f = fopen( srcfile, "r" ); if( NULL == f ) { return -1; } boost::basic_regex<char> regex = "(.*?),(.*?),(.*?)"; boost::match_results<const char*> results; char src[1024]; while( fgets(src, sizeof src, f) != NULL ) { boost::regex_search(src, results, regex); char buf[1024]; for( int i = 1 ; i <= 3 ; i++ ) { ::memset( buf, '\0', sizeof buf ); ::strncpy( buf, results.str(i).c_str(), results.length(i) ); ::printf( "%s\t", buf ); } ::printf( "\n" ); } fclose(f);