ifstreamからテキストファイル読んでintやらdoubleやらにキャストするので詰まった
template < class T > void Dtw< T >::readFile( std::vector< T > &dst, const char* path ) { std::ifstream fs( path ); T temp; if( !fs ) { std::cout << "Error: cannot open file(" << path << ")" << std::endl; exit(1); } while( fs >> temp ) { dst.push_back( temp ); } }
テキストファイルは
0 0.1 0.2 0.3 . . .
っていう形式で、最初 double 型だけでやっててうまく行ってたんだけど、int や long にも対応しようとしたらあかんかった
テキストファイルの数字を整数だけにしたら int, long でもおkだった
柔軟に対応しようとしたら一旦 string に格納してから sscanf つかうなり、stringstream 使わないと駄目みたいね