Работа с ifstream, данные в вызываемом файле не распечатываются

Я получил то же сообщение об ошибке, когда забыл войти в брандмауэр компании, прежде чем выполнять запрос POST через прокси.

-1
задан streamybroom 13 July 2018 в 04:16
поделиться

1 ответ

Проблема - это оператор if внутри цикла while. Если имя файла не равно часовому, вы проверяете, действительно ли inputFile. Если это так, вы выполняете строки кода внутри всего один раз, прежде чем получать новое имя файла. Вы хотите что-то вроде этого:

while(fileName != sentinel){
    cout<< endl;
    cout<< fileName << " data" <<endl;
    cout<< "*********************************\n" <<endl;
    while(inputFile >> inputRead){

        count++;


        cout<< inputRead <<endl;

    }
    cout<< "\n*********************************" <<endl;
    cout<< fileName << " has " << count << " words." <<endl;

    cout<< "\nEnter another file name or type \"quit\" to end: ";
    cin>> fileName;
}
0
ответ дан Martin York 17 August 2018 в 13:41
поделиться
  • 1
    спасибо за решение, он решил мою проблему! – streamybroom 13 July 2018 в 04:59
  • 2
    Не забывайте, что операция чтения может завершиться неудачей. Вы должны проверить, что чтение работало до его использования. Лучший способ сделать это - считать прочитанным как часть условия while. Исправлен код выше для вас. – Martin York 13 July 2018 в 06:44
Другие вопросы по тегам:

Похожие вопросы: