• stringstream实例


    stringstream的具体作用稍后来总结,这里分享一个实例,从txt文档中读取数据,并对进行处理。

    #include <iostream>
    #include <sstream>  //stringstream的头文件
    #include <fstream>
    #include <vector>
    #include <string>
    using namespace std;
    
    void main()
    {
    	ifstream fin("d:\desk\face detection\dataset\train\trainImageList.txt");
    	ofstream fout("d:\desk\face detection\dataset\train\trainImageList1.txt");
    	char p_data[1024] = { 0 };
    	string filename;
    	while (fin.getline(p_data, sizeof(p_data)))
    	{
    		vector<double> data;
    		//stringstream resizeData;
    		//resizeData.str(p_data);
    		stringstream resizeData(p_data);  //依照空格将数据分段
    		resizeData >> filename;  //向filename流中写入值
    		while (resizeData)      //数据流输完后就结束
    		{
    			string a;
    			resizeData >> a;
    			data.push_back(atof(a.c_str()));
    		}
    		
    		//data[0] 不变
    		double temp = data[1];
    		data[1] = data[2];
    		data[2] = data[3];
    		data[3] = temp;
    
    		//使其为一个正方形
    		double w, h;
    		double differenceValue = 0.0;
    		w = data[2] - data[0];
    		h = data[3] - data[1];
    		differenceValue = abs(w - h);
    		if (w > h)
    			data[3] += differenceValue;
    		else
    			data[2] += differenceValue;
    
    		fout << filename << " ";
    		vector<double>::iterator it = data.begin();
    		for (; it != data.end()-1; it++)
    		{
    			fout << *it << " ";
    		}
    		fout << endl;
    	}
    }
    

      

  • 相关阅读:
    JavaScript事件冒泡简介及应用
    个人作业——软件工程实践总结&个人技术博客
    个人技术总结
    个人作业——软件测评
    寒假作业(2/2)
    寒假作业(1/2)
    gitlab-ci.yml可用关键字描述
    gitlab-Runner配置参数详解
    gitlab-ci部署实现持续集成(centos7)
    linux时间同步操作命令
  • 原文地址:https://www.cnblogs.com/menghuizuotian/p/3890148.html
Copyright © 2020-2023  润新知