C++读写操作
数据在txt中长:
/**************************************************************************
1.2 读取真实位姿数据"Pose.txt"
***************************************************************************/
ifstream posefile;
vector<Mat> Real_Rots;
vector<Mat> Real_Trans;
posefile.open("Pose.txt", ifstream::in);
assert(testimg_idx.is_open());
while (!posefile.eof())//不等于文件结尾
{
string tmp;//Pose:
int idx;//编号
float tran;
Mat mat_tmp(3, 3, CV_32F);
Mat tran_tmp(3, 1, CV_32F);
posefile >> tmp >> idx;
posefile >> mat_tmp.at<float>(0, 0) >> mat_tmp.at<float>(0, 1) >> mat_tmp.at<float>(0, 2) >> tran_tmp.at<float>(0, 0);
posefile >> mat_tmp.at<float>(1, 0) >> mat_tmp.at<float>(1, 1) >> mat_tmp.at<float>(1, 2) >> tran_tmp.at<float>(1, 0);
posefile >> mat_tmp.at<float>(2, 0) >> mat_tmp.at<float>(2, 1) >> mat_tmp.at<float>(2, 2) >> tran_tmp.at<float>(2, 0);
Real_Rots.push_back(mat_tmp);
Real_Trans.push_back(tran_tmp);
//cout << mat_tmp << endl;;
//system("pause");
}
posefile.close();
即数据默认是空格分割的,回车换段就行了