【发布时间】:2014-03-24 01:56:16
【问题描述】:
我一直在尝试从文本文件中检索保存的数据。存储的数据都是数字,用~分隔。我已经设法让它打印出其中一行(顶行),但是我一直无法弄清楚如何处理整个文件。
每行只有两个数字(整数),另一个向量的 X 和 Y 位置。这个想法是将每个整数分配给向量中的相应变量。我没能走到那一步,因为我无法让它超过第 1 行。但我认为通过数组大小为 2,并且数组临时存储值,将其分配给向量,然后用下一个可以工作的值覆盖它。但又一次没能走到那一步。
以下是我一直在尝试使用的代码;
........
string loadZombieData;
loadFile >> loadZombieData; //Data gets read from the file and placed in the string
vector<string> result; //Stores result of each split value as a string
stringstream data(loadZombieData);
string line;
while(getline(data,line,'~'))
{
result.push_back(line);
}
for(int i = 0; i < result.size(); i++){
cout << result[i] << " ";
}
.......
澄清一下,这不是我的代码,这是我在 Stackoverflow 上找到的一些代码,所以我还不能完全确定它是如何工作的。正如我所说,我一直试图让它读取多行,然后使用 for 循环将根据需要将结果分配给其他向量变量。任何帮助表示赞赏:)
【问题讨论】:
-
读了 3 遍还是不太清楚你想要什么...你能举一个你加载的文件的例子和预期的输出吗?
-
对不起。该文件是这样的:
10~8\n4~13\n8~2等(对的数量取决于保存了多少僵尸(其他向量之一)。程序当前保存 X 和 Y 位置(x~y)以及我的m 试图做的是检索值并将这些值应用于向量的 x 和 y 位置(基本上重新加载以前的位置)。如果有帮助?:/