0 / 0 / 0
Регистрация: 14.11.2019
Сообщений: 46
1

Работа с файлами. C++. Не считывает с файла данные

29.01.2020, 20:50. Показов 1090. Ответов 6
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Программа зацикливается и не останавливается, если в файле только один пробел между словами, а не несколько
C++
1
2
3
4
5
6
7
8
9
10
11
12
ifstream data("data.txt", fstream::in);
    if (!data.is_open()) cout << "произошла ошибка при открытии";
    else {
        string line, tmp; int max = -1, number, nline = 0;
        while (!file.eof()) {
            data >> tmp;
            if (tmp == "BSUIR") {
                data >> tmp; data >> number;
                max = max < number ? number : max;
            }
        }
    }
сам txt файл вот. Зациклится на слове Rodkin, дальше не прочитает. Как исправить?
Работа с файлами. C++. Не считывает с файла данные
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
29.01.2020, 20:50
Ответы с готовыми решениями:

Работа с файлами, C++. После обнуления tmp, из файла не считываются данные
Помогите понять в 31 строчку кода из файла не считываются данные, почему? #include &lt;string&gt;...

работа с файлами, считывает лишь до пробела
вот кусочек моей программы почему-то после ввода текста с пробелами считываются только символы до...

Не считывает данные из файла
Дано задание (полностью писать не буду не имеет смысла) &quot;... также создать функции ввода и вывода...

Не считывает данные из файла с++
#include &lt;iostream&gt; #include &lt;fstream&gt; #include &lt;string&gt; #include &lt;vector&gt; using namespace std;...

6
2782 / 1935 / 570
Регистрация: 05.06.2014
Сообщений: 5,600
29.01.2020, 21:06 2
Лучший ответ Сообщение было отмечено mascrpone как решение

Решение

while (!file.eof()) while(file>>data)
1) Что за file вылез?
2) data >> number давится ILIA, вывешивает флаг ошибки, с флагом ошибки больше ничего не читается.
1
0 / 0 / 0
Регистрация: 14.11.2019
Сообщений: 46
29.01.2020, 21:32  [ТС] 3
А как сделать проверку, являются ли данные типа int или иного?

Добавлено через 9 минут
А как сделать проверку, являются ли данные типа int или иного?
0
2782 / 1935 / 570
Регистрация: 05.06.2014
Сообщений: 5,600
29.01.2020, 21:45 4
Цитата Сообщение от mascrpone Посмотреть сообщение
А как сделать проверку, являются ли данные типа int или иного?
Ну, прочитать данные как слово, прогнать через strtol и проверить состояние errno. Или прогнать через stoi и ловить исключения.
1
599 / 237 / 69
Регистрация: 08.08.2015
Сообщений: 1,637
29.01.2020, 21:56 5
Цитата Сообщение от mascrpone Посмотреть сообщение
data >> tmp; data >> number;
первый раз вижу что бы так строку парсили
1
0 / 0 / 0
Регистрация: 14.11.2019
Сообщений: 46
29.01.2020, 21:57  [ТС] 6
я в теме новичок, честно ничего лучше придумать не мог. А как вообще следующее слово в файле прочитать, если не этим способом
0
599 / 237 / 69
Регистрация: 08.08.2015
Сообщений: 1,637
29.01.2020, 22:05 7
mascrpone, читаешь всю строку например getline и потом ее нормализуешь, что бы вот такой фуйни не было
Цитата Сообщение от Renji Посмотреть сообщение
давится ILIA, вывешивает флаг ошибки,
и потом ее разбираешь
1
29.01.2020, 22:05
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
29.01.2020, 22:05
Помогаю со студенческими работами здесь

В файл вводятся имена, пол и рост человека. Программа считывает данные из файла и выдает совпадения если в нем есть мужчины одного роста. Тема:работа
В файл вводятся имена, пол и рост человека. Программа считывает данные из файла и выдает совпадения...

Read() не считывает данные из файла
Подскажите, почему не считываются данные из файла? f = open(&quot;C:\OceanPath.txt&quot;, &quot;w&quot;)...

ReadFile не считывает в буфер данные из файла
Доброго времени суток. Я считываю 10 чисел в файл с помощью WriteFile. Считывание проходит успешно....

Не считывает данные с внешнего текстового файла
когда пытаюсь подключить внешний текстовы файл выдает вместо табличных данных то что в файле, все...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru