我在用getline命令从简单的.txt文件中提取数据时遇到了一些问题。
TXT文件非常简单:一列400个数字。我使用一个向量用以下代码存储它们:
int i = 0;
string line;
vector vec;
while (getline(input, line))
{
vec.push_back(i);
N++;
input >> vec[i];
i++;
}
它正确地创建了一个包含400个元素的向量,但是忽略了TXT文件的第一行(我以vec[0]=TXT文件的第二行而不是第一行结束),399元素是399,而不是TXT文件的第400行。
我尝试了其他几种方法来提取这些数据,但没有成功。
谢谢你的帮助!
编辑:
我已经根据一些备注编辑了代码:
vector vec;
string line;
double num;
while (getline(input, line))
{
input >> num;
vec.push_back(num);
}
不幸的是,它仍然跳过我的文本文件的第一行。
编辑2-->解决方案:
感谢您的所有评论,我意识到在使用getline和input>>num时我做了一些错误的事情;
问题是如何解决的:
double num;
vector vec;
while (input >> num)
{
vec.push_back(num);
}