int main() {std::ifstream file("data.txt"); // 假设你的文件名为data.txtif (!file.is_open()) {std::cerr << "无法打开文件" << std::endl;return 1;}std::string line;while (getline(file, line)) {std::istringstream iss(line);float x, y, z;char comma; // 用于读取逗号if (!(iss >> x >> comma >> y >> comma >> z)) {std::cerr << "读取数据失败" << std::endl;continue; // 跳过这一行}// 现在你有了x, y, z的值,可以进行后续处理std::cout << "读取的点坐标为: (" << x << ", " << y << ", " << z << ")" << std::endl;}file.close();return 0;}
如果想将数据点存储到容器中而不是打印出来,可以使用 std::vector 来存储每个点的坐标。这里是一个示例,展示如何将数据点存储到一个 std::vector 容器中:
struct Point {float x, y, z;};int main() {std::ifstream file("data.txt"); // 假设你的文件名为data.txtif (!file.is_open()) {std::cerr << "无法打开文件" << std::endl;return 1;}std::vector<Point> points; // 用于存储点的容器std::string line;while (getline(file, line)) {std::istringstream iss(line);float x, y, z;char comma; // 用于读取逗号if (!(iss >> x >> comma >> y >> comma >> z)) {std::cerr << "读取数据失败" << std::endl;continue; // 跳过这一行}// 将读取的点添加到容器中points.push_back({x, y, z});}file.close();// 可选:打印所有点以验证for (const auto& point : points) {std::cout << "点坐标: (" << point.x << ", " << point.y << ", " << point.z << ")" << std::endl;}return 0;}
在这个示例中,定义了一个 Point 结构体来存储每个点的坐标。然后,我使用 std::vector<Point> 来存储所有的点。对于文件中的每一行,我解析出x、y、z坐标,并将它们存储为一个 Point 对象,然后添加到 points 容器中。
想了解更多
赶紧扫码关注
版权声明:
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若内容造成侵权、违法违规、事实不符,请将相关资料发送至xkadmin@xkablog.com进行投诉反馈,一经查实,立即处理!
转载请注明出处,原文链接:https://www.xkablog.com/rfx/32852.html