c++对文件进行读写操作
2015-04-04 23:07
411 查看
#include <iostream> #include <iomanip> #include <fstream> #include <sstream> #include <vector> #include "highgui.h" using namespace std; //保存数据的地方,可以换成txt文件 //vector<vector<double>> buffer; //vector<vector<double>>::iterator i; //vector<double>::iterator j; int main() { ifstream file("Data.txt"); ofstream result("result.txt"); string tmp; char tmp_c[20]; bool booldata; double tmp_d[4]; double size; stringstream ss; while (getline(file, tmp)){ ss << tmp; ss >> tmp_c; ss.clear(); getline(file, tmp); ss << tmp; ss >> booldata; ss.clear(); if (booldata) { //对图片进行处理显示 result << tmp_c << '\n'; IplImage* img = cvLoadImage(tmp_c); cvShowImage(tmp_c, img); cvReleaseImage(&img); cvDestroyWindow(tmp_c); //对第三行进行处理 getline(file, tmp); ss << tmp; for (int i = 0; i < 4; i++) ss >> tmp_d[i]; ss.clear(); size = tmp_d[2] * tmp_d[3]; result << size << '\n'; getline(file, tmp); result << tmp<<'\n'; } else { getline(file, tmp); getline(file, tmp); } } file.close(); result.close(); system("PAUSE"); return 0; } /* ifstream file("Data.txt"); double tmp_d; char tmp_c; string tmp; stringstream ss; while (getline(file,tmp)){ ss << tmp; vector<double> v; for (int i = 0; i < 5; ++i) { ss >> tmp_d; v.push_back(tmp_d); } ss.clear(); buffer.push_back(v); } for (i = buffer.begin(); i != buffer.end(); ++i) { for (j = i->begin(); j != i->end(); ++j) { cout << setfill('0') << setw(5) << *j << "\t"; } cout << endl; } */
相关文章推荐