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

Удаление записи из структуры - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ одновременный ввод/вывод с двух потоков http://www.cyberforum.ru/cpp-beginners/thread29709.html
Создаю новый поток с помощью CreateThread(). Некая функция должна выводить какието строки на экран printf`ом или чем нибуть подобным, нипринципиально, и при этом в мэйне команда scanf дожна читать команду внизу экрана. Ну и получаеться билибирда какаято, принтф пишет прям туда где курсор находится (в строке ввода). Как это решить, есть какиенибуть функции, для считывания/установки положения...
C++ Запись матрицы в файл Не могу записать введёную матрицу в файл: #include <conio.h> #include <stdio.h> #include <malloc.h> #include <stdlib.h> void main() { //int mas; int i,j,n; http://www.cyberforum.ru/cpp-beginners/thread29687.html
создание класса C++
Мне нужно разработать класс для представления понятия "контроллер видеомагнитофона"(обеспечивает програмное управление видеомагнитофоном, который может осуществлять запись, выполнять воспроизведение кассеты и осуществлть перемотку в указанном направлении) Кто нить может поделиться похожими прогами или просто с определением класса
C++ Работа с матрицей (нахождение детерминант)
привет всем форумчанинам! моя первая тема так что за оформление сори)) а теперь о главном)) В общем есть программа написанная на паскале, задание там следущее - найти детерминант матрицы заданной размерности, она работает. Попробовал перенести ее в С++ и допускаю ошибки, не могу разобраться=( Может у кого-нибудь есть готовый программный код, который не будет отличаться большой трудностью......
C++ Вопрос по динамической памяти http://www.cyberforum.ru/cpp-beginners/thread29670.html
мне надо создать масив содержащий структуры. У меня вот код какой: vec *fild;//vec это название структуры конструктор for(i=0;i<20;i++) {
C++ createthread и closehandle void func() { while(1) { printf("hello world"); //:-D } } void main() { подробнее

Показать сообщение отдельно
darkAngel
Технофашист
211 / 192 / 4
Регистрация: 11.03.2009
Сообщений: 850
12.04.2009, 16:54     Удаление записи из структуры
Может тебе следует делать проще:
Находишь в своём массиве структур нужную структуру и вызываешь декструктор для этого объекта. А после полностью перезаписываешь файл data.txt

Добавлено через 1 час 22 минуты 49 секунд
Цитата Сообщение от CoRoBOK
О, а можете подсказать что значит, деструктура? как это записать?
При создании каждого нового объекта (структуры), вызывается конструктор (такая функция), который инициализирует данные этого объекта (структуры).
В противоположность ему - деструктор. Деструктор удаляет данные объекта (структуры).

Т.к. Вы используете не динамические структуры, данные можно просто обнулять.
Вот описание вашей структуры с деструктором:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
struct firm
{
    char name[100];
    int medic;
    int industry;
    int food;
    int inform;
    int chemic;
    
    ~firm()          // Деструктор              
    {
       medic = 0; 
       industry = 0;
       food = 0;
       inform = 0;                    //Обнуление данных
       chemic = 0;
       for (int i=0; i<100; i++) name[i] = 0;
    }
} st[100];

Теперь, для того чтобы обнулить все данные, к примеру, у структуры st[17], следует вызвать деструктор этой структуры:
C++
1
st[17].~firm();
После этого все данные структуры st[17] будут обнулены.

Как следствие, могу предложить далее в вашей программе делать так: чтобы в файл не записывались структуры с обнулёнными данными, нужно у каждой структуры делать проверку поля name[100] перед записью её в файл. Если name[0] = 0, то значит структура пустая и записывать её данные в файл data.txt не стоит.

Также могу предложить вот ещё что: после удаления (или изменения) какиой либо структуры из вашего массива структур, перезаписывать файл data.txt полностью, чтобы в нём не оставалось устаревших данных.
 
Текущее время: 23:32. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru