С Новым годом! Форум программистов, компьютерный форум, киберфорум
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Tiva
94 / 94 / 1
Регистрация: 25.04.2012
Сообщений: 429
#1

некорректное считывание из файла - C++

24.11.2012, 14:28. Просмотров 319. Ответов 1
Метки нет (Все метки)

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
ifstream ifst(FNAME_USERLIST);
while(!ifst.eof())
                {
                    string templog;
                    string temppas;
                    int tempacc;
                    
                    ifst >> templog >> temppas >> tempacc;//считываем в временные переменные логин, пароль и уровень при запуске программы
                    //следующие три строчки, заполняют пользовательские данные в поля класса.
                    login.push_back(templog);
                    password.push_back(temppas);
                    access.push_back(tempacc);
 
                    count++;
                }
файл вида:
Код
admin qwert 126
user asdf 14
проблема в том, что если после конца последней строки есть еще одна пустая, то он считывает её, заполняет логин и пароль пустотой и появляетя лишяя запись. как игнорировать это?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
24.11.2012, 14:28
Здравствуйте! Я подобрал для вас темы с ответами на вопрос некорректное считывание из файла (C++):

Некорректное считывание из файла - C++
Есть необходимость записывать и считывать в файл и обратно С первым все просто, со вторым казалось бы тоже, но не получается void...

Некорректное считывание строки - C++
Собственно столкнулся с такой проблемой... Не считываются ФИО с пробелами. Либо, если юзаю gets, то во второй записи исчезает пункт ФИО. Да...

Некорректное считывание строки - C++
Доброго времени суток. Подскажите, пожалуйста, с чем связана данная проблема: есть текст в файле, вот такой: "Microsoft MS, MS-DOS,...

Заменить считывание с клавиатуры на считывание из файла - C++
Помогите пожалуйста, ни разу не работал со считыванием из файла поэтому не понимаю как и что делать. Почитал в интернете, попробовал, не...

Некорректное чтение строк из файла (fscanf) - C++
Доброго времени суток. Студенческая лаба, работа с файлами, CppBuilder6. Запись/чтение только через fprintf/fscanf. Записывает норм,...

OpenCV. Некорректное чтение бинарного файла - C++
Здравствуйте. При использовании opencv (2.4.6) столкнулся со следующей особенностью (или багом). Имеются бинарные файлы (fits-файлы с...

1
gray_fox
What a waste!
1522 / 1227 / 70
Регистрация: 21.04.2012
Сообщений: 2,565
Завершенные тесты: 3
24.11.2012, 15:28 #2
Перед push_back
C++
1
2
3
if (!ifst.good()) {
   break;
}
должно помочь.

Добавлено через 5 минут
Между делом, параллельные массивы - не самая лучшая идея. Лучше завести структуру, которая будет представлять одну "запись" и хранить одну коллекцию из этих записей.
1
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
24.11.2012, 15:28
Привет! Вот еще темы с ответами:

Считывание файла в массив и запись нового файла - C++
Консоль VS C++. Текстовый файл открывается как бинарный, и считывается по 100 байт в массив - и сразу они переписываются в другой файл. В...

Считывание из файла - C++
В общем-то задача таков- считать из файла ВСЁ, ЧТО ТАМ ЕСТЬ, далее это зашифровать и сохранить. Для шифрования выбрал base64, проблем...

Считывание из файла - C++
есть кодик int main(int argc, char* argv) { setlocale(LC_ALL, "RUS"); char c = 0; int n = 0, j = 0; int *a; ifstream...

Считывание из файла - C++
есть файл с настройками prog.conf вида: date = 01.02.2010 time = 15:05:45 step = 0.5 ... есть переменные: day, month, year,...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.