C++ 读取txt文件,按行读取,每行按照空格分隔
文件长这样
0.0123316 0.375353 0.10401
-0.00151841 0.463505 0.120007
-0.00279071 0.48558 0.133968
-0.00876399 0.449192 0.119612
-0.0151656 0.381921 0.0963358
-0.0171188 0.324608 0.0580801
-0.0161262 0.188523 0.0251649
-0.0103069 -0.110366 -0.0516647
-0.0117365 -0.435222 -0.129303
0.00678631 -0.661168 -0.164249
0.00322251 -0.762689 -0.186981
代码如下:
读取速度文件,把速度赋值到 Eigen::Vector3f,并保存到vector中:
- //读取文件
- ifstream file;
- stringstream ss;
- vector
velocity; - Eigen::Vector3f vec_tmp;
- file.open("velocity.txt", ios::in);
- if (!file.is_open())
- {
- cout << "read file failed" << endl;
- return;
- }
- string line;
- while(getline(file, line)){
- ss.str(line);
- string single;
- int i = 0;
- // 按照空格分隔
- while(getline(ss, single, ' ')){
- vec_tmp(i++) = atof(single.c_str());
- }
- ss.clear(); //必须加,不然写不到string里。
- velocity.push_back(vec_tmp);
- }