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<Eigen::Vector3f> 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);
}