c++對文件進行讀寫操作

#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;
	}
*/

發佈了22 篇原創文章 · 獲贊 1 · 訪問量 5萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章