首页 > 编程语言 >C++ 读写文本文件

C++ 读写文本文件

时间:2022-12-07 12:02:17浏览次数:37  
标签:tmp x1 文本文件 读写 back C++ file x2 y2

1. 逐行读文本,文本以空格分隔

points.txt 文件内容如下:

index x1 y1 x2 y2

0 247 372 264 614

1 224 158 246 400

2 389 264 407 509

3 466 43 490 289

4 33 379 49 618

5 237 63 260 305

6 288 151 309 395

string filename="./points.txt";
fstream file;
vector<Point2f>vp1,vp2;
file.open(filename,ios_base::in);
string line;
while (!file.eof())
{
    getline(file,line);
    int index;
    float x1,y1,x2,y2;
    stringstream data(line);
    data>>index>>x1>>y1>>x2>>y2;
    vp1.push_back(Point2f(x1,y1));
    vp2.push_back(Point2f(x2,y2));
}
file.close()

2. 逐行读文本,文本以","分隔

points.txt文件内容如下

 index x1 y1 x2 y2

0,247,372,264,614

1,224,158,246,400

2,389,264,407,509

3,466,43,490,289

4,333,379,49,618

5,237,63,260,305

6,288,151,309,395

string filename = "./points.txt";
ifstream file(filename);
getline(file, line);
vector<string> vecIndex;
vector<double> vecx1,vecy1,vecx2,vecy2;
while (!file.eof())
{
    string line;
    if (getline(file, line)) {
        stringstream ss(line);
        string name;
        double x1, yl, x2, y2;
        string tmp;
        int i = 0;
        while (getline(ss, tmp, ',')) {
            if (i == 0) { name = tmp; vecIndex.push_back(name); }
            if (i == 1) { x1 = stod(tmp); vecx1.push_back(x1); }
            if (i == 2) { yl = stod(tmp); vecy1.push_back(y1); }
            if (i == 3) { x2 = stod(tmp); vecx2.push_back(x2); }
            if (i == 4) { y2 = stod(tmp); vecy2.push_back(y2); }
            i++;
        }
    }
}
file.close();

 

标签:tmp,x1,文本文件,读写,back,C++,file,x2,y2
From: https://www.cnblogs.com/DuhuiliBlog/p/16962667.html

相关文章

  • C++_动态链接库和搜索共享库
    标准1998 C++982011 C++11ISO/IEC14882:2011 2014 C++142017 C++172020 ISOC++委员会正式发布了C++20标准,命名为ISO/IEC14882:2020 实现01.命令查看自己......
  • C++-2数据类型-笔记
    2数据类型C++规定在创建一个变量或者常量时,必须要指定出相应的数据类型,否则无法给变量分配内存2.1整型作用:整型变量表示的是整数类型的数据C++中能够表示整型的类型有以下......
  • c++练习266题:楼层编号
    *266题原题传送门:http://oj.tfls.net/p/266题解:#include<bits/stdc++.h>usingnamespacestd;intt;//高能数字intsfch(inta){//是否有一位是高能数字,我用的递归,直......
  • c++练习271题:水仙花数
    *271题原题传送门:http://oj.tfls.net/p/271题解:#include<bits/stdc++.h>usingnamespacestd;intcf(inta,intb){//a的b次方 intc=a; for(inti=1;i<b;i++)//......
  • c++ 金币
    国王将金币作为工资,发放给忠诚的骑士。第一天,骑士收到一枚金币;之后两天(第二天和第三天)里,每天收到两枚金币;之后三天(第四、五、六天)里,每天收到三枚金币;之后四天(第七、八、九......
  • C++
    通讯录管理系统1、系统需求通讯录是一个可以记录亲人、好友信息的工具。本教程主要利用C++来实现一个通讯录管理系统系统中需要实现的功能如下:添加联系人:向通讯录中......
  • C++学习---STL中nullptr_t的实现原理
    引言nullptr_t/nullptr是对C语言中NULL的替代,C语言中NULL通常定义为0或(void*)0,无法很好地处理与C++相关的环境,比如类指针的转换、赋值、比较等,容易出现异常。我们来分析一......
  • C++变量的声明与定义
      声明,是用以告诉编译器类型及其细节,本身并不涉及内存分配;  定义,即内存分配,编译器将在相对内存地址上为其对象定址。  定义的同时也作了声明,当定义的时候我们肯......
  • C++的region代码块折叠
    之前用C#,有比较方便的#region功能:#region代码块名//...代码块#endregion 原来C++也有类似功能,示例如下:#pragmaregion代码块名//...#pragmaendregion......
  • [c++11新特性]08-defer的实现
    defer的实现​​参考​​​defer的实现​​​defer的实现​​在go语言中有一个关键字defer可以用来指示当程序跳出某一作用域的时候执行指定的操作。假定C++中也定义了d......