逐行读取txt文件的数据点坐标,并保存在vector变量中
时间: 2024-02-18 07:59:01 浏览: 25
好的,您可以使用C++的文件输入流(ifstream)来逐行读取txt文件,并将每一行中的数据点坐标保存在一个vector变量中。假设txt文件中每一行都是一个数据点,格式为"x y",其中x和y分别为该数据点的横坐标和纵坐标,具体代码如下:
```c++
#include <iostream>
#include <fstream>
#include <vector>
using namespace std;
struct Point {
double x;
double y;
};
int main() {
ifstream file("example.txt"); // 打开txt文件
vector<Point> points; // 定义存储数据点的vector变量
double x, y;
while (file >> x >> y) { // 逐行读取文件内容,并解析出数据点的坐标
Point p = {x, y}; // 将解析出的坐标存储到一个Point结构体变量中
points.push_back(p); // 将Point结构体变量保存到vector变量中
}
file.close(); // 关闭文件
// 输出vector变量中的内容
for (int i = 0; i < points.size(); i++) {
cout << "Point " << i+1 << ": (" << points[i].x << ", " << points[i].y << ")" << endl;
}
return 0;
}
```
在上述代码中,我们首先使用ifstream打开txt文件,然后定义一个vector变量points,用于存储每一个数据点的坐标。接着,我们使用while循环逐行读取文件内容,并使用"file >> x >> y"解析出每一个数据点的横纵坐标。每读取出一个数据点的坐标,就将其存储到一个Point结构体变量中,并将该变量保存到vector变量points中。最后,我们使用for循环输出vector变量points中的内容,并使用ifstream的close()函数关闭文件。