У меня небольшая проблема с извлечением данных из простого файла .txt с помощью команды getline.
Файл txt очень прост: столбец из 400 чисел.Я использую вектор для хранения их со следующим кодом:
int i = 0;
string line;
vector <double> vec;
while (getline(input, line))
{
vec.push_back(i);
N++;
input >> vec[i];
i++;
}
Он правильно создает вектор из 400 элементов, но первая строка файла TXT игнорируется (в итоге я получаю vec [0] = 2-я строкаTXT-файл вместо 1-го), а 399-й элемент равен 399 вместо 400-й строки TXT-файла.
Я пытался извлечь другие данные несколькими способами, но это оказалось безуспешным.
Спасибо за вашу помощь!
РЕДАКТИРОВАТЬ:
Я отредактировал код в соответствии с некоторыми замечаниями:
vector <double> vec;
string line;
double num;
while (getline(input, line))
{
input >> num;
vec.push_back(num);
}
К сожалению, он все еще пропускает первую строку моего текстового файла.
РЕДАКТИРОВАТЬ 2 -> РЕШЕНИЕ:
Благодаря всем вашим замечаниям я понялчто я делал что-то не так при использовании getline и input >> num;
Вот как проблема была решена:
double num;
vector <double> vec;
while (input >> num)
{
vec.push_back(num);
}