CSVデータの読み込み ― 2006/04/16 08:49

測定データの読み込みをしないといけなくなったけど、測定データって フォーマットが機器によって違うので、読み込むのが大変。スペース区切りなら、簡単なんだけど "," (カンマ)区切りの場合、結構やっかい。 ちなみに、C なら、
char *p = "1,2,3,4,5,"; char *ptr; for( ptr = strtok( p, ",");ptr !=NULL; p=strtok(0,",") ){ int d = atoi( ptr ); }
なんて感じで読み込めるけど、C++ の時には string 型を使いたい。 いろいろ、調べてみたけど、今のところ、こんな感じしか思いつかない。
string str = "1,2,3,4,5"; istringstream stream( str ); string buf; while( getline(stream, buf, ',') ){ int d; istringstream is( buf ); if( !(is >> d) ){ cout << "Error" << endl; } }
って感じかな。もっと、上手に読み込みが出来そうな気もするけど。。。
C++ への道は結構険しい。
最近のコメント