С Новым годом! Форум программистов, компьютерный форум, киберфорум
Наши страницы

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

Войти
Регистрация
Восстановить пароль
 
Logot
1 / 1 / 0
Регистрация: 15.05.2010
Сообщений: 54
#1

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

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

Файл окрывается к с помощью функции Open() класса CStdioFile. В файле есть какие-то данные. Нужно не пересоздавая файл стереть все данные или какую-то его часть.
Для того чтобы стереть весь файл пишу такой код:
Код
for(int i=0;i<file.GetLength();i++)
{
	file.Write('',1);
}
Но такая реализация не стирает файл полностью.
А так:
Код
for(int i=0;i<file.GetLength();i++)
{
	file.Write(NULL,1);
}
Получаю ошибку выполнения. Как правильно стереть файл полностью?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
14.08.2011, 18:04
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Как опустошить файл, не пересоздавая его? (C++):

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

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

Как создать программу в С++, чтобы его можно было запускать как исполняемый .exe файл? - C++
Здравствуйте! Собственно вся суть сабжа содержится содержится в сабже :) допустим: // ConsoleApplication3.cpp: определяет точку...

Есть файл со звуком как его прослушать? - C++
#include&lt;stdio.h&gt; int main(){ return 0; } ВСе что я знаю о програмировании! есть файл со звуком как его прослушать? ...

Как удалить файл или изменить его тип - C++
Всем привет! Подскажите мне пожалуйста как удалить в с++; То есть допустим пользователь указал путь и расширение файла а программа...

Как открыть бинарный файл, не зная его структуру? - C++
Можно ли как-нибудь открыть бинарный файл, не зная его структуру?

6
kpoxa
5 / 5 / 0
Регистрация: 08.12.2009
Сообщений: 213
14.08.2011, 18:20 #2
Что именно ты имеешь ввиду под 'опустошением' ?
Преврвтить все байты в нулевые ?
Или обрезать файл и сделать его длиной в 0 байт ?
Тогда и решение будет разным.
0
Logot
1 / 1 / 0
Регистрация: 15.05.2010
Сообщений: 54
14.08.2011, 18:47  [ТС] #3
Имею ввиду обрезать файл и сделать его длинной в 0 байт.
0
kpoxa
5 / 5 / 0
Регистрация: 08.12.2009
Сообщений: 213
14.08.2011, 19:01 #4
Есть функция _chsize.
Параметры найдешь в MSDN.
0
Logot
1 / 1 / 0
Регистрация: 15.05.2010
Сообщений: 54
14.08.2011, 19:27  [ТС] #5
Эта функция изменяет размер файла, а как сделать, чтобы удалить определённую часть файла, не затронув другие части этого же файла?
Вообщем, по такой схеме - выделить строку в файле, удалить её и вставить новую строку.
0
kpoxa
5 / 5 / 0
Регистрация: 08.12.2009
Сообщений: 213
14.08.2011, 20:29 #6
Ну это ясно - chsize может не только обнулять файл. Она может сделать из файла в 20К файл в 10К. Причем отсекается только конец, поэтому если удалять конец файла, то все просто, если надо удалить что-либо из середины, то тут без компрессии не обойдешься. Придется переносить все данные из конца в середину (там где появляется дыра) до тех пор, пока дыр не останется и тогда отсечь лишнее.
0
Logot
1 / 1 / 0
Регистрация: 15.05.2010
Сообщений: 54
14.08.2011, 20:49  [ТС] #7
Спасибо!
0
14.08.2011, 20:49
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
14.08.2011, 20:49
Привет! Вот еще темы с ответами:

Подскажите, как очистить файл, после его работы - C++
#include &quot;stdafx.h&quot; #include &quot;stdio.h&quot; #include &quot;conio.h&quot; #include &quot;time.h&quot; #include &quot;stdlib.h&quot; #include &quot;string.h&quot; void...

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

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

С++ как найти слово в файле и вывести его в другой файл - C++
Написал код, но файл не выводится, в чём ошибка? #include &lt;fstream&gt; #include &lt;iostream&gt; #include &lt;string&gt; #include &lt;iomanip&gt; ...


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

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

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