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

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

Войти
Регистрация
Восстановить пароль
 
Bretbas
198 / 57 / 8
Регистрация: 05.08.2013
Сообщений: 869
Завершенные тесты: 1
#1

Сохранение и загрузка данных в файл - C++

27.05.2014, 23:53. Просмотров 418. Ответов 2
Метки нет (Все метки)

Добрый вечер всем. Столкнулся с какой-то элементарной проблемой, и не могу никак понять в чем траблы.
Вот код:

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
...
int main()
{
    int k = 0;
 
    fstream f(L"Records",std :: ios :: in | std :: ios :: binary);
 
    while( (!f.eof()) && (f) )
    {
        f.read(reinterpret_cast<char*>(&k), sizeof(int));
        cout << k;
    }
 
    k++;
 
    fstream f2(L"Records",std :: ios :: out |  std :: ios :: binary);
    for(int i = 0; i < k; i++ )
        f2.write(reinterpret_cast<char*>(&k),sizeof(int));
 
    return 0;
}
...
Вначале, у меня файла не существует, поэтому в цикл while(...) мы не заходим. Прибавляем к переменной k единицу(теперь k = 1), создаем заново этот файл и записываем в цикле от 0 до k переменную k.
Теперь в файле у меня содержится цифра 1.
Заново открываем программу и видим трабл: программа заходит в цикл while(...), так как файл существует, считываем содержимое в переменную k, то есть считали единицу, которая была в файле(k = 1).
Дальше происходит очень интересный момент. По идее, в файле больше ничего нет, мы считали все до конца файла, НО программа не выходит из цикла, она опять идет читать файл!!! Что это за хрень? На экран выводится по cout << k; две единицы.

Помогите понять что это за проблема, пожалуйста)
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
27.05.2014, 23:53
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Сохранение и загрузка данных в файл (C++):

Сохранение и загрузка данных из ListView в txt файл - C++
Добрый вечер! Возникла проблема при сохранении данных таблицы компонента ListView в txt файл и ,соответственно, при загрузке из txt в...

Сохранение и загрузка в бинарный файл - C++
Доброго времени суток. Прошу помочь с сохранением/загрузкой в/из файла. Есть два класса: CClient: class CClient { ...

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

Массив стуктур - загрузка/сохранение в файл - C++
Всем привет, Есть обыкновенный массив структур, например: struct lists1 { long int name; long int option; char descrip; ...

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

Сохранение(загрузка) свойств элементов формы в файл - C++
Здравствуйте! Необходимо реализовать взможность сохрнения/загрузки свойств элементов ComboBox (itemindex), Label(caption) и Edit(text) в/из...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
alsav22
5419 / 4815 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
28.05.2014, 00:39 #2
Цитата Сообщение от Bretbas Посмотреть сообщение
По идее, в файле больше ничего нет, мы считали все до конца файла,
Кроме самого, так называемого, конца файла (EOF), что и происходит на следующей итерации.

Добавлено через 3 минуты
А поэтому:
C++
1
2
    while (f.read(reinterpret_cast<char*>(&k), sizeof(int)))
        cout << k;
1
Bretbas
198 / 57 / 8
Регистрация: 05.08.2013
Сообщений: 869
Завершенные тесты: 1
28.05.2014, 00:52  [ТС] #3
так)завтра попробую)
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
28.05.2014, 00:52
Привет! Вот еще темы с ответами:

Сохранение и загрузка данных множества set - C++
Добрый день. Пишу свое первое приложение, телефонная книга. Использую контейнер для хранения контактов set&lt;Phonebook&gt; Contacts, где ...

Двусвязный список. Загрузка, сохранение в файл, сортировка по вводимому параметру - C++
Здравствуйте! Нужна помощь с функцией загрузки информации из файла. Файл создается, информация сохраняется, но не извлекается. Выдает,...

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

Работа со структурой данных, чтение/сохранение во внешний файл - C++
помогите разобраться с задачкой!! {Написать программу, представляющую собой простейшую систему для управления данными. Исходные данные...


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

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

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