C++ 将.txt文件列存储到c++;
我是编程新手,所以我有一个基本问题。我目前有一个包含两列的文本文件。每行都有x和y数字,用空格分隔。以下是文件的前五行:C++ 将.txt文件列存储到c++;,c++,C++,我是编程新手,所以我有一个基本问题。我目前有一个包含两列的文本文件。每行都有x和y数字,用空格分隔。以下是文件的前五行: 120 466 150 151 164 15 654 515 166 15 我想读取数据并将它们存储到x和Y列中,然后在程序中的其他地方调用数据,例如x[I]和Y[I]。说,我不知道有多少行。这是我的代码的一部分,我试图这样做 #include <fstream> #include <iostream> #include <string>
120 466
150 151
164 15
654 515
166 15
我想读取数据并将它们存储到x和Y列中,然后在程序中的其他地方调用数据,例如x[I]和Y[I]。说,我不知道有多少行。这是我的代码的一部分,我试图这样做
#include <fstream>
#include <iostream>
#include <string>
#include <sstream>
using namespace std;
int main()
{
double X[];
double Y[];
ifstream inputFile("input.txt");
string line;
while (getline(inputFile, line))
{
istringstream ss(line);
double x,y;
ss >> x >> y;
X = X + [x];
Y = Y + [y];
return 0;
}
}
#包括
#包括
#包括
#包括
使用名称空间std;
int main()
{
双X[];
双Y[];
ifstream输入文件(“input.txt”);
弦线;
while(getline(inputFile,line))
{
istringstream ss(线);
双x,y;
ss>>x>>y;
X=X+[X];
Y=Y+[Y];
返回0;
}
}
推荐的方法是使用一个std::vector
或两个(每列一个),因为可以很容易地将值添加到其中。最好使用vector:
vector<double> vecX, vecY;
double x, y;
ifstream inputFile("input.txt");
while (inputFile >> x >> y)
{
vecX.push_back(x);
vecY.push_back(y);
}
for(int i(0); i < vecX.size(); i++)
cout << vecX[i] << ", " << vecY[i] << endl;
vectorvecx,vecY;
双x,y;
ifstream输入文件(“input.txt”);
同时(输入文件>>x>>y)
{
vecX.向后推_(x);
向量。推回(y);
}
for(int i(0);i 这是一个重复的问题,巧合的是我已经深入地回答了。看看它,让我知道如果它有帮助,它应该。这与你遇到的具体问题有关。这是一个重复的问题,我建议您仔细阅读这篇文章,因为您是初学者,并且已经实现了一些与您相同的功能。@user5468794这不是一个重复的问题,因为他希望存储到单独的容器中。请考虑使用一个包含X和Y的结构,然后使用这些结构的std::vector
。如果你真的很好,你可以想出如何使用std::pair而不是编写一个结构。这真的帮了大忙。感谢you@Abdul我相信这是你最好的解决办法。如果它解决了你的问题,请接受它。