Как очистить файл в c
Перейти к содержимому

Как очистить файл в c

  • автор:

Как очистить файл?

Преподаватель сказал, что он должен очищать файл при открытии, но в итоге он не очищает
Функция creat, она обнуляет файл, это все срабатывает, но запись в дальнейшим не совершается
И flag = O_TRUNC, в open очищает файл, но записать потом опять не получается
Или что не так делаю?
Какие способы есть еще?

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
int main() { setlocale(LC_ALL, "Russian"); double start_time = clock(); char str[20] = "1.txt"; int sch = 0, fd; char t; fd = aopen(str, O_RDWR); int count = 0; count = LengthFile(fd); int *DinMas; DinMas = (int*) malloc (count*sizeof(int)); for(int i = 0; i  count; i++) { DinMas[i] = agetb(fd, i); } aclose(fd); fd = aopen(str, O_WRONLY); printf("%d\n", count); for(int i = count/2, j = 0; i  count; i++, j++) { printf("%c ", DinMas[i]); asetb(fd, j, DinMas[i]); } aclose(fd); getch(); }

Задача : Узнать длину файла, и перезаписать любую половину в этот же файл

Удаление файлов

Функция remove() удаляет файлы. Она имеет следующий прототип:

int remove(const char *имя_файла);

В случае удачного выполнения она возвращает ноль, а в случае неудачного — не ноль.

Следующая программа использует remove() для удаления файла, определяемого пользователем:

/* пример использования remove() */
#include
int main(void)
char fname[80];
printf («Name of file to remove: «);
gets(fname);
if(remove(fname)) printf(«Error removing file»);
return 1;
>
else return 0;
>

Очистить файл

Очистить файл
Как через класы потоков очистить открытый файл? 32 строка вроде ф-ция для очистки, но она не.

Очистить текстовый файл
есть функция сохранения в файл.. int out_file(char* filename,date* cor) < fstream.

Как очистить файл с вводом множества объектов?
Доброго времени суток! Написал код с вводом множества объектов. Ввожу объекты. Потом , понятное.

1953 / 1219 / 120
Регистрация: 02.05.2010
Сообщений: 2,925
Записей в блоге: 2

file = open( "filename", std::ios::in | std::ios::out ); |

Регистрация: 09.09.2011
Сообщений: 40
файл Я открывал так

std::fstream file("c:\\pass.txt",ios_base::in|ios_base::out);

или смысл ответа в другом?

Добавлено через 4 минуты
видимо проще всего так

while ((c = file.get()) != EOF){}

1953 / 1219 / 120
Регистрация: 02.05.2010
Сообщений: 2,925
Записей в блоге: 2

ЦитатаСообщение от ganjawar Посмотреть сообщение

или смысл ответа в другом?

В другом.
Файл переоткроется для записи, т.е. очиститься(вам ведь это надо?), и для считывания(но т.к. он пустой, то считывать будет нечего).
P.S. если вы ничего в файл не пишите во время выполнения программы, то он и так пустой будет(из-за ios::out очистится).
P.P.S. неправильно написал немного, open — не функция, а метод.
Т.е. писать нужно так

file.open( "filename", std::ios::in | std::ios::out );

Хотя что-то не то я говорю видимо, секунду.

А, нет, все правильно, нужно просто не забыть закрыть файл.
Что-то вроде такого

1 2 3 4 5
std::fstream in("input.txt", std::ios::in); //в файле что-то есть in.close(); in.open("input.txt", std::ios::out | std::ios::in); //файл пуст

геморно без компилятора все-таки.

Как очистить файл в c

Нравится ресурс?

Правила раздела Visual C++ / MFC / WTL (далее Раздела)

1) На Раздел распространяются все Правила Форума.
2) Перед тем, как создать новый топик, убедитесь, что Вы читали Правила создания тем в Разделе.
3) Вопросы, не связанные с программированием (настройки MS Visual Studio, книги, библиотеки и т.д.),
обсуждаются в разделе C/C++: Прочее
4) Вопросы разработки .NET (Windows Form, C++/CLI и т.п.) приложений на Visual C++/C# обсуждаются в разделе .NET.
5) Нарушение Правил может повлечь наказание со стороны модераторов.

Модераторы: ElcnU

‘> Очистить содержимое файла

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *