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

Как правильно организовать чтение и запись файла? - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Создать очередь с приоритетом (Ошибка) http://www.cyberforum.ru/cpp-beginners/thread752162.html
Здравствуйте, Друзья! Стоящая задача (создать очередь с приоритетом) выполнена, но есть ошибка. Друзья, гляньте пожалуйста "свежим взглядом", где она (а она точно есть): #include <iostream> #include <conio.h> using namespace std; class QueuePrior { int MaxLength; int length;
C++ Вычисление функций с использованием их разложения в степенной ряд ощибки исправте пожалуйста Постановка задачи Для х, изменяющегося от a до b (интервал целиком лежит внутри интервала, указанного в третьей колонке) с шагом , вычислить функцию y=f(x), используя ее разложение в степенной ряд (вторая колонка) в двух случаях: а) для заданного количества слагаемых N (величина зависит от свойств степенного ряда, примерное значение N указано в четвёртой колонке); б) для заданной точности э... http://www.cyberforum.ru/cpp-beginners/thread752143.html
C++ Вывод на экран данных в виде таблицы
Помогите сделать нормальный вывод в консоли, чтобы выводило все ровно а не так как на скриншоте! За вывод отвечает функция Show #include <iostream> #include <conio.h> #include<windows.h> #include<iomanip.h> using namespace std;
Информация по темам билетов C++
Всем доброго времени суток. Готовлюсь к сессии, все шло хорошо, но тут увидел несколько билетов которые мне не знакомы и более того, ищу информацию в интернете, после чего путаюсь, может мне кто помочь, может ссылкой, может литературой какой нибудь. 32. Работа с файлами в С, примеры. 33. Работа с файлами в C++, примеры. 34. Бинарные файлы, операции передачи информации. 35. Функции для...
C++ получение палиндрома http://www.cyberforum.ru/cpp-beginners/thread752114.html
рассмотрим некоторое натуральное число. Если это не палиндром, то изменим порядок его цифр на обратный и сложим исходное число с получившимся. Если сумма не палиндром, то над ней повторяется то же действие и т.д., пока не получится палиндром. Даны натуральные числа k,m,l(k<1). Проверить, верно ли, что для любого натурального числа из диапазона от k до 1 процесс завершается не позднее, чем после m...
C++ функция Replace Разработайть функцию, которая заменяет натуральное число на количество единиц в нем. (Функция должна изменять само число, переданное ей в качестве параметра) подробнее

Показать сообщение отдельно
Xtir
11 / 11 / 0
Регистрация: 10.07.2010
Сообщений: 130
03.01.2013, 22:42     Как правильно организовать чтение и запись файла?
Для записи и чтения файла я использую класс CFile. Допустим при открытии диалога происходит чтение файла, и при закрытии его - запись в файл, как-то так:
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
27
28
29
30
31
32
33
34
35
36
37
38
void CMyDlg::OnInitDialog()
{
    CFile file("file.txt", CFile::modeRead);
    CArchive ar(&file, CArchive::load);
    CString s;
    int x;
 
    ar >> x;
 
    for(int i = 0; i < x; ++i)
    {
        ar >> array[i].a;
        ar >> array[i].b;
        //ar >> array[i].c;
    }
 
    ar.Close();
    file.Close();
}
 
void CMyDlg::OnCLose()
{
    CFile file("file.txt", CFile::modeWrite | CFile::modeCreate);
    CArchive ar(&file, CArchive::store);
 
    int x = array.size();
    ar << x;
 
    for(int i = 0; i < x; ++i)
    {
        ar << array[i].a;
        ar << array[i].b;
        //ar << array[i].c;
    }
 
    ar.Close();
    file.Close();
}
И вдруг, после тысячи записей, мне приходится добавить ещё некий элемент с (то что закомментировано). И вот как это правильно можно организовать? Потому что при чтении файла программа пытается прочитать не существующую пока ещё запись, и в итоге выдаёт ошибку "An attempt was made to access an unnamed file past its end". Как это можно всё грамотно организовать без лишнего гемороя?
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 23:58. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru