sstream读取文件

sstream读取文件对于如下图所示的数据文件:274表示有274个点对,以下每一行代表一个点对,每一行的四个数从左到右依次是一个第一个点的x坐标、y坐标、第二个点的x坐标、y坐标,现在要把点对数和每个点对读取并存储,具体代码如下:#include<iostream>#include<sstream>#include<fstream>#include<string&…

大家好,又见面了,我是你们的朋友全栈君。

对于如下图所示的数据文件:
在这里插入图片描述

274表示有274个点对,以下每一行代表一个点对,每一行的四个数从左到右依次是一个第一个点的x坐标、y坐标、第二个点的x坐标、y坐标,现在要把点对数和每个点对读取并存储,具体代码如下:

#include<iostream>
#include<sstream>
#include<fstream>
#include<string>
#include<vector>
#include<assert.h>
using namespace std;


struct Correspondence2D2D
{
    double p1[2];
    double p2[2];
};
typedef vector<Correspondence2D2D> Correspondences2D2D;

int main(){
	Correspondences2D2D corr_all;
	int n=0;
	ifstream in("correspondences.txt");
	assert(in.is_open());
	string line, word;
    int n_line = 0;
	while(getline(in, line)){
    	stringstream stream(line); //等价于stringstream stream; stream<<line; 向流中传值
        if(n_line==0){
            int n_corrs = 0;
            stream>> n_corrs; //将流中的值读取到n_corrs中
            corr_all.resize(n_corrs);
			cout<<"Total line is "<<n_corrs<<endl;
            n_line ++;
            continue;
        }
        if(n_line>0){

            stream>>corr_all[n_line-1].p1[0]>>corr_all[n_line-1].p1[1]
                  >>corr_all[n_line-1].p2[0]>>corr_all[n_line-1].p2[1];
            cout<<n_line<<" line is "<<corr_all[n_line-1].p1[0]<<" "<<corr_all[n_line-1].p1[1]<<" "
                  <<corr_all[n_line-1].p2[0]<<" "<<corr_all[n_line-1].p2[1]<<endl;
        }
        n_line++;
    }
	return 0;
}

运行结果如下:
在这里插入图片描述

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/136158.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)
blank

相关推荐

  • Memcache知识点梳理

    Memcache知识点梳理

  • dirsearch安装教程「建议收藏」

    dirsearch安装教程「建议收藏」dirsearch安装教程dirsearch是一个用python开发的网站目录扫描工具github下载地址笔者安装在windows上下载的是zip包因为需要用到python直接解压到安装python环境的位置打开cmd进入dirsearch目录后,输入命令进行安装pythonsetup.py安装成功后就可以直接使用了pythondirsearch.py-uip命令详解dirsearch-h到这里就结束了…

  • thinkphp模版调用函数方法

    thinkphp模版调用函数方法

    2021年10月26日
  • python计算平均数,方差,标准差_抽样平均误差的计算

    python计算平均数,方差,标准差_抽样平均误差的计算python计算平均平方误差(MSE)的实例我们要编程计算所选直线的平均平方误差(MSE),即数据集中每个点到直线的Y方向距离的平方的平均数,表达式如下:MSE=1n∑i=1n(yi−mxi−b)2最初麻烦的写法#TODO实现以下函数并输出所选直线的MSEdefcalculateMSE(X,Y,m,b):in_bracket=[]foriinrange(len(X)):num…

  • 双面小册子–WORD文档打印

    双面小册子–WORD文档打印拿到一个文档,有几十页,很大,于是想打印出来看,使用A4纸张整篇幅打印过于浪费,偶然看到同事拿到一个小册子,于是学习了一下打印方法,如下:打印–打印机属性–完成中选择双面打印–小册子打印–A4装订即可。 可以像书一样打印你所需要的文档,可以节省很多纸。纠结了一下才学会,度娘提了问题都没有结果,可算处理掉了。

  • unity 方向向量_二面角距离公式

    unity 方向向量_二面角距离公式在学习Unity官方案例时,发现其中用了两种求物体XZ平面旋转夹角的方法:   方法1:floatangle=Vector3.Angle(fromVector,toVector);//求出两向量之间的夹角Vector3normal=Vector3.Cross(fromVector,toVector);//叉乘求出法线向量angle*=Mathf.Sig

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号