Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/8: Рейтинг темы: голосов - 8, средняя оценка - 5.00
1 / 1 / 1
Регистрация: 15.05.2010
Сообщений: 54

Как опустошить файл, не пересоздавая его?

14.08.2011, 18:04. Показов 1655. Ответов 6
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Файл окрывается к с помощью функции Open() класса CStdioFile. В файле есть какие-то данные. Нужно не пересоздавая файл стереть все данные или какую-то его часть.
Для того чтобы стереть весь файл пишу такой код:
Code
1
2
3
4
for(int i=0;i<file.GetLength();i++)
{
    file.Write('',1);
}
Но такая реализация не стирает файл полностью.
А так:
Code
1
2
3
4
for(int i=0;i<file.GetLength();i++)
{
    file.Write(NULL,1);
}
Получаю ошибку выполнения. Как правильно стереть файл полностью?
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
14.08.2011, 18:04
Ответы с готовыми решениями:

Затереть данные в файле, не пересоздавая его
Здравствуйте! Записываю данные в файл. Как потом затереть данные в файле и записать новые (данных может быть меньше и они не перекроют...

Как опустошить div?
Как опустошить div по нажатию на кнопку? Делаю вот так, не работает! $('#ok_window').click(function() { $('#window').val(&quot;...

Как перед следующей итерацией опустошить stdin
Ситуация. В программе есть цикл. До цикла объявление char c;В начале цикла: scanf (&quot;%c&quot;, c); ну или с = getchar (); ...

6
5 / 5 / 0
Регистрация: 08.12.2009
Сообщений: 213
14.08.2011, 18:20
Что именно ты имеешь ввиду под 'опустошением' ?
Преврвтить все байты в нулевые ?
Или обрезать файл и сделать его длиной в 0 байт ?
Тогда и решение будет разным.
0
1 / 1 / 1
Регистрация: 15.05.2010
Сообщений: 54
14.08.2011, 18:47  [ТС]
Имею ввиду обрезать файл и сделать его длинной в 0 байт.
0
5 / 5 / 0
Регистрация: 08.12.2009
Сообщений: 213
14.08.2011, 19:01
Есть функция _chsize.
Параметры найдешь в MSDN.
0
1 / 1 / 1
Регистрация: 15.05.2010
Сообщений: 54
14.08.2011, 19:27  [ТС]
Эта функция изменяет размер файла, а как сделать, чтобы удалить определённую часть файла, не затронув другие части этого же файла?
Вообщем, по такой схеме - выделить строку в файле, удалить её и вставить новую строку.
0
5 / 5 / 0
Регистрация: 08.12.2009
Сообщений: 213
14.08.2011, 20:29
Ну это ясно - chsize может не только обнулять файл. Она может сделать из файла в 20К файл в 10К. Причем отсекается только конец, поэтому если удалять конец файла, то все просто, если надо удалить что-либо из середины, то тут без компрессии не обойдешься. Придется переносить все данные из конца в середину (там где появляется дыра) до тех пор, пока дыр не останется и тогда отсечь лишнее.
0
1 / 1 / 1
Регистрация: 15.05.2010
Сообщений: 54
14.08.2011, 20:49  [ТС]
Спасибо!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
14.08.2011, 20:49
Помогаю со студенческими работами здесь

Как по хэндлу процесса сделать дамп его памяти и записать его в файл?
Имеем VB 5.0. Есть чужое приложение на дельфи. Нужно сохранить в файл область память этого чужого приложения. Понятно, что это будет мною...

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

Как скопировать лист в новый файл и обозвать его (файл) именем, включающим текущую дату?
Господа, как скопировать лист в новый файл и обозвать его (файл) именем, включающим текущую дату. В общем, чтобы появился новый файл с...

как зовут файл, где имя дефолтоюзверя для phpmyadmin и его пароль и где этот файл валяется?
как зовут файл, где имя дефолтоюзверя для phpmyadmin и его пароль и где этот файл валяется?

Как выгрузить файл на сервер и как закачать его на комп?
Люди, помогите! Как выгрузить файл на сервер и как закачать его на комп? Заранее благодарен.


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

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Новые блоги и статьи
Программный контроль заполнения реквизита табличной части документа
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: реализовать контроль заполнения реквизита "ПричинаСписания". . .
wmic не является внутренней или внешней командой
Maks 02.04.2026
Решение: DISM / Online / Add-Capability / CapabilityName:WMIC~~~~ Отсюда: https:/ / winitpro. ru/ index. php/ 2025/ 02/ 14/ komanda-wmic-ne-naydena/
Программная установка даты и запрет ее изменения
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: при создании документов установить период списания автоматически. . .
Вывод данных в справочнике через динамический список
Maks 01.04.2026
Реализация из решения ниже выполнена на примере нетипового справочника "Спецтехника" разработанного в конфигурации КА2. Задача: вывести данные из ТЧ нетипового документа. . .
Программное заполнения текстового поля в реквизите формы документа
Maks 01.04.2026
Алгоритм из решения ниже реализован на нетиповом документе "ВыдачаОборудованияНаСпецтехнику" разработанного в конфигурации КА2, в дополнении к предыдущему решению. На форме документа создается. . .
К слову об оптимизации
kumehtar 01.04.2026
Вспоминаю начало 2000-х, университет, когда я писал на Delphi. Тогда среди программистов на форумах активно обсуждали аккуратную работу с памятью: нужно было следить за переменными, вовремя. . .
Идея фильтра интернета (сервер = слой+фильтр).
Hrethgir 31.03.2026
Суть идеи заключается в том, чтобы запустить свой сервер, о чём я если честно мечтал давно и давно приобрёл книгу как это сделать. Но не было причин его запускать. Очумелые учёные напечатали на. . .
Модель здравосоХранения 6. ESG-повестка и устойчивое развитие; углублённый анализ кадрового бренда
anaschu 31.03.2026
В прикрепленном документе раздумья о том, как можно поменять модель в будущем
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru