基本上我要做的是从txt文件中获取坐标数据并为它们分配变量,以便稍后我可以计算这些坐标和设置位置(其数据是常量)之间的距离。 txt文件看起来像这样:
每一行都是一组坐标,x和y之间有空格。我需要分别存储每个x和y变量。我不知道如何做到这一点,因为我刚刚开始使用c ++。如果有帮助,则txt文件名为“CoordinateData.txt”。 任何帮助将非常感激。 这是我目前的代码,但它似乎没有按照我需要的方式工作:
#include <iostream>
#include <fstream>
#include <sstream>
using namespace std;
int main()
{
ifstream inputFile("coordinates.txt");
string line;
while (getline(inputFile, line))
{
istringstream ss(line);
string name;
int var1, var2;
ss >> name >> var1 >> var2 ;
}
}
答案 0 :(得分:1)
您需要数组,检查name,var1和var2的定义:
#include <iostream>
#include <fstream>
#include <sstream>
using namespace std;
int main()
{
ifstream inputFile("coordinates.txt");
string line;
string name[100];
int var1[100], var2[100];
int currentLineNumber = 0;
// It would be better: (getline(inputFile,line) && currentLineNumber < 100)
while (getline(inputFile, line))
{
istringstream ss(line);
ss >> name[currentLineNumber] >> var1[currentLineNumber] >> var2[currentLineNumber] ;
currentLineNumber = currentLineNumber + 1;
}
}
您可以像这样迭代从文件中获取的数据:
for (i = 0; i < currentLineNumber; ++i) {
cout << name[i] << "," << var1[i] << "," << var2[i] << "\n";
}