Форум программистов, компьютерный форум CyberForum.ru

ifstream - C++

Восстановить пароль Регистрация
 
DenisMD
 Аватар для DenisMD
0 / 0 / 0
Регистрация: 25.04.2013
Сообщений: 7
25.04.2013, 19:56     ifstream #1
Привет всем такая проблема ввода
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
Student* s;// студенты
s = new Student[l];
    ifstream fin("Student.txt");
    
    for(int i(0); i < l; i++)
    {
        string name;
        double ball = 0;
        double b[3];//кол-во предметов
        
        getline(fin,name);
        s[i].SetName(name);
        for(int j(0); j < 3; j++)
        {
            fin >> b[j];
            ball += b[j];
        }
 
        ball /= 3;// общий средний балл
        s[i].SetBall(ball);
 
        ball = 0;
        fin.get();
    }
    fin.close();
}
вот файл
Denis
5 5 5
Alena
5 5 5
Maksim
3 3 3
Vana
2 2 2
в целом первый студент записывается и находится средний бал, а вот последующие не идут может из-за getline. Проверял на Debuge на второй итерации вместо имени Alena записывается пустая строка(Fin.get() учтен)

Добавлено через 13 минут
Все нашел решение в конец нужно
C++
1
2
fin.clear();
while(fin.get() != '\n');
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
25.04.2013, 19:56     ifstream
Посмотрите здесь:

Объект ifstream!!! C++
C++ Объект ifstream!!!
C++ fstream ifstream
ifstream ofstream C++
ifstream считывает 0 C++
Функция getline и ifstream C++
Перегрузка ifstream и ofstream? C++
Ifstream ошибка C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
alsav22
5282 / 4801 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
25.04.2013, 20:12     ifstream #2
Цитата Сообщение от DenisMD Посмотреть сообщение
Все нашел решение в конец нужно
В последней строке будут проблемы, там нет '\n'.
DenisMD
 Аватар для DenisMD
0 / 0 / 0
Регистрация: 25.04.2013
Сообщений: 7
25.04.2013, 20:19  [ТС]     ifstream #3
Цитата Сообщение от alsav22 Посмотреть сообщение
В последней строке будут проблемы, там нет '\n'.
Это учтено в последней записи файла есть \n, поэтому все считывается.
Yandex
Объявления
25.04.2013, 20:19     ifstream
Ответ Создать тему
Опции темы

Текущее время: 09:15. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru