【发布时间】:2013-07-25 00:34:24
【问题描述】:
所以我试图从一个简单的迷宫游戏的文本文件中读取以下格式的数据:
A * B * * B * C * A C G D * B D * * * C E I F * * F J G * E G * H C F H * * * G IE * J * K F * K * L * J L * * * K第一列是当前节点。第二列,其正北的节点。第三,紧邻东部,第四,紧邻南部,第五,紧邻西部。任何 * 表示没有节点,指针应设置为 null。
请记住,我是 OOP 的新手,我很好奇如何将这些信息“保存”到名为 Node 的类中。
我有以下类定义:
public:
int BuildGraph();
char name;
char north;
char east;
char south;
char west;
};
std::vector<Node> nodes;
使用代码build >> node.name >> node.north >> node.east >> node.south >> node.west; 会读入正确的字符。
这正确地得到了我想要的字符。但是,一旦我到达该行的末尾,我如何存储这个节点然后移动到下一行并存储那个节点?现在,我有一个 do/while 循环,它循环直到它到达文件的末尾,但当然它每次都会覆盖所有内容,所以它唯一有效读取的代码是 L * 的最后一行* * K. 如何让第一行保存为节点 A,第二行保存为节点 B,等等?我如何在程序的其他地方引用它?现在,我只是在创建一个 Node 类型的对象节点。当我到达行尾时,我需要将 node 中的所有内容复制到一个名为 A 的新 Node。
编辑:抱歉格式化; Stack Overflow 没有将我的 4 个空格识别为代码缩进。
【问题讨论】:
-
您是在问如何将节点链接在一起?
-
我不太确定我在问什么。我想是这样。我正在从文本文件中读取所有这些信息,但是一旦到达行尾,我希望保留当前保存的信息,然后为下一行创建一个 Node 类型的新对象。
-
也许你会发现下一个问题的答案很有用:stackoverflow.com/questions/2323929/…
标签: c++ pointers linked-list nodes