C++,wxWidgets读取txt文件中所有纬度,经度数据,存储在std::vector<wxPoint> west_outline_pix_position{};中,具体实现代码示例
时间: 2024-02-27 21:58:19 浏览: 26
以下是一个基于C++和wxWidgets的读取txt文件中所有纬度、经度数据并存储在std::vector<wxPoint>中的示例代码:
```cpp
#include <wx/wx.h>
#include <vector>
#include <fstream>
#include <sstream>
std::vector<wxPoint> west_outline_pix_position{};
void readTxtFile(std::string filename)
{
std::ifstream file(filename);
if (!file.is_open()) {
wxLogError("Failed to open file!");
return;
}
std::string line;
while (std::getline(file, line)) {
std::istringstream iss(line);
double longitude, latitude;
if (!(iss >> longitude >> latitude)) {
wxLogError("Failed to read data from file!");
return;
}
west_outline_pix_position.emplace_back(wxPoint(longitude, latitude));
}
}
int main(int argc, char* argv[])
{
// 读取txt文件中所有纬度、经度数据
readTxtFile("data.txt");
// 测试输出
for (const wxPoint& point : west_outline_pix_position) {
wxLogMessage("Longitude: %d, Latitude: %d", point.x, point.y);
}
return 0;
}
```
上述代码首先定义了一个全局变量std::vector<wxPoint> west_outline_pix_position{};用来存储从txt文件中读取到的所有经度、纬度数据。然后定义了一个读取txt文件的函数readTxtFile,该函数接收一个字符串类型的文件名作为参数,利用C++中的ifstream类来读取文件内容,将读取到的每行数据解析成经度和纬度,然后将它们打包成一个wxPoint类型的对象,并添加到std::vector<wxPoint>中。最后,通过一个简单的测试输出来验证程序是否正确地读取了文件中的数据。
需要注意的是,此处的代码示例仅供参考,具体实现可能需要根据实际情况进行调整。