gpt4 book ai didi

c++ - 如何从一个文本文件流式传输不同的输入行?

转载 作者:行者123 更新时间:2023-11-28 05:16:58 26 4
gpt4 key购买 nike

我正在尝试创建一个模拟,让对象在矩形网格内移动。信息以文本文件的形式提供。输入示例如下:

5 5
0 1 N
PFPFFSF
2 3 S
FSFFSFFSPF

第一行是网格的尺寸(在本例中为 5 x 5,假设左下坐标为 0,0)

输入的其余部分只是关于对象及其移动方式的信息。每个对象有 2 行输入。第一行是它的起始坐标和方向,而第二行描述它的运动。

当使用输入流时,我如何抓取输入以便它进行相应的分组?

我知道第一行,我可以使用

simulationSettings >> x >> y;

抓取网格的大小。

但是,有没有一种方法可以获取其余的输入并将信息按 2 行(针对每个对象)分组?

因此,例如,流式传输输入,以便我的对象 1 将具有 0 1 N 和 PFPFFSF,而对象 2 具有 2 3 S 和 FSFFSFFPF,如果有更多对象,依此类推。

最佳答案

如果您可以简单地忽略文件的实际结构,那么您的结构就是:

  • 网格大小的 2 个整数值
  • n 次(每个对象):
    • 初始位置的2个整数
    • 初始方向的一个字符串
    • 一串 Action

你可以使用:

simulationSettings >> x >> y;
if (! simulationSettings.good()) {
// process error condition and exit
}
for(;;) {
int xinit, yinit;
std::string direction, movements;
simulationSettings >> xinit;
if (simulationSettings.eof()) break; // normal end of file
simulationSetting >> yinit >> direction >> movements;
if (! simulationSettings.good()) {
// process error condition and at least break from the loop
}
// process the object
}

关于c++ - 如何从一个文本文件流式传输不同的输入行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42434000/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com