Я пытаюсь прочитать входной файл, отформатированный с двумя числами в строке, и сохранить первое число в строке в одном векторе, а второе число в другом векторе.
Каждая часть моего кода работает нормально, за исключением фактического чтения файла .
Я поместил couts
повсюду, и похоже, что во время открытия моего файла он не читается, поэтому мои векторы продолжают заполняться, пока у меня не кончится память.
Вот часть моего кода, которая читает файл:
cout << "Input Filename: ";
cin >> input;
//open input file
inputdata.open(input.c_str());
if(!inputdata){
cerr << "Error: Unable to open file!" << endl;
}
while(!inputdata.eof()){
counter++;
hold = 0;
if(counter > 0){
inputdata >> hold;
//cout << hold << endl;
if(counter%2 != 0)
data.push_back(hold);
else
weight.push_back(hold);
}
}
(где counter - это целое число, инициализированное -1, поскольку в начале входного файла есть заголовок из одного слова, который мне нужно игнорировать).
Я знаю, что использование .eof()
осуждается, но это не повлияет на то, что я делаю.
Кто-нибудь видит проблему в моем коде или почему он не читает файл?