Я пишу программу для своего класса, которая принимает текстовый файл и имеет каждую строку в назначенном тексте. Проблема, с которой я сталкиваюсь, заключается в том, что когда я использую getline (), полностью пропуская вход. Из всего, что я прочитал, я чувствую, что делаю это правильно, но, очевидно, я что-то упускаю. Это небольшая часть кода ... если вам нужно все, что я могу опубликовать. Спасибо заранее за помощь каждого.getline с входным файлом с использованием функции, массива и структуры
garage populategarage()
{
garage tg; //temporary garage
string instruction_prompt;
initialize_garage(tg);
ifstream inputFile;
inputFile.open("garage-input-file.txt");
for (int i = 0; i < NUM_OF_VEHICLES; i++)
{
inputFile >> tg.vehicles[i].category;
if (tg.vehicles[i].category == "\0")
i = NUM_OF_VEHICLES;
else
{
inputFile >> tg.vehicles[i].make;
inputFile >> tg.vehicles[i].model;
inputFile >> tg.vehicles[i].color;
inputFile >> tg.vehicles[i].year;
inputFile >> tg.vehicles[i].trans;
inputFile >> tg.vehicles[i].cylinder;
getline(inputFile, tg.vehicles[i].drive); //This is my problem
}
}
Вы должны добавить тег 'C++' и проверить строку в верхней части кода, которая выглядит как бродяга. (например, 'гараж populategarage() {гараж tg; // временный гараж string command_prompt;') –
Остальная часть этого кода, похоже, работает нормально, по какой-то причине с помощью строки .drive он просто полностью пропускает его как вход и запускает петля снова, заставляя дисплей отключиться одним местом. Я что-то пропустил, насколько это касается линии getline, или это выглядит правильно? –