Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
14 / 14 / 4
Регистрация: 10.07.2010
Сообщений: 130

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

03.01.2013, 22:42. Показов 1609. Ответов 0
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Для записи и чтения файла я использую класс 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". Как это можно всё грамотно организовать без лишнего гемороя?
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
03.01.2013, 22:42
Ответы с готовыми решениями:

Организовать запись и чтение файла
Добрый день. сделал структуру, нужно записать её в текстовый файл. И считать потом из этого файла. Подскажите, пожалуйста, как это сделать....

Как организовать чтение файла содержащего разнотипные структуры?
Задача следующая есть файл внутренняя структура которого зависит от его же внутренних полей. Вот простенький пример: typedef struct ...

Как правильно реализовать чтение данных из текстового файла?
char buff; ifstream sho; sho.open(&quot;Мафіни.txt&quot;); if (!sho.is_open()) { cout &lt;&lt; &quot;Error!!!\n&quot;; } else { cout &lt;&lt;...

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
03.01.2013, 22:42
Помогаю со студенческими работами здесь

Запись структуры и чтение из файла в структуру ( как бы лучше )
Подкиньте идею как лучше записать структуру в файл и обратно из файла в структуру У меня есть мысль: даны 4 элемента вводим их в...

Не знаю как реализовать чтение из файла/запись в файл с особыми условиями
Добрый день! У меня есть файл file.txt с таким содержанием: xxx /x qqq zzz /z aaa ccc /c

Как правильно осуществить запись с файла в stringstream и обратно?
Есть программа, которая должна осуществлять открытие не пустого текстового файла, далее содержимое файла должно шифроваться, после...

Организовать запись и чтения из файла для 3 программ
Добрый вечер.Помогите пожалуйста организовать запись и чтения из файла для 3 программ,я там где-как написал что знаю,но все равно не могу...

Запись и чтение из файла
Вспоминаю как работать с файлами в плюсах. Для примера решил просто записать несколько строк в файл, а затем их считать. Но блин что то оно...


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

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Новые блоги и статьи
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Access
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru