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

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

  • автор:

очистить данные внутри текстового файла в C ++

Я программирую на С++. В моем коде я создаю текстовый файл, записываю данные в файл и читаю из файла с помощью потока, после того как закончу последовательность, которую хочу, я хочу очистить все данные в файле txt. Может ли кто-нибудь сказать мне команду очистить данные в txt файле. Спасибо вам

3 ответа

Если вы просто открываете файл для записи с помощью опции truncate, вы удаляете содержимое.

Удаление файла также приведет к удалению содержимого. См. удалить файл.

Если вы установите флаг trunc.

Я тестировал это для своих собственных нужд в общей ситуации программирования, которую я имел. Определенно обязательно заготовьте «.close()»; операция. Если вы этого не сделаете, вам не сообщается, вы или нет, вы пытаетесь или просто прикладываете к попрошайничеству файл. В зависимости от типа файла, который вы можете просто добавить к файлу, который в зависимости от ваших потребностей может не заполнить его цель. Обязательно наберите «.close()»; экспликация в файле, который вы пытаетесь заменить.

How to clear the content of a file after it is opened using fstream? [duplicate]

I need to open a file in read/write mode, read its content and then clear all. So, I cannot open it in truncate mode. How can I do that?

Lightness Races in Orbit's user avatar

2 Answers 2

Hate to disappoint you, but..

There’s no standard way of clearing the contents of a file from an open std::fstream, the straight forward way is therefore to handle the two operations as what they really are.. two operations.

First handle all the reading, and later the writing (through a different stream object).

The solution

In other words; first open the file in read-only mode (std::ifstream) and read the data you are interested in, then discard that file-handle and open the file again.. this time in write-only and truncation mode (std::ofstream), so that you will clear the contents of the file.

fstream — очистить данные внутри текстового файла в переполнении стека

Я программирую на C ++. В моем коде я создаю текстовый файл, записываю данные в файл и считываю из файла поток, после того как я закончу последовательность, я хочу очистить все данные в текстовом файле. Может кто-нибудь сказать мне команду, чтобы очистить данные в текстовом файле. Спасибо

Решение

Если вы просто откроете файл для записи с помощью опции truncate, вы удалите содержимое.

Другие решения

Удаление файла также удалит содержимое.
Увидеть удалить файл .

Если вы установите флаг усечения.

Я тщательно проверил это для своих собственных потребностей в обычной ситуации программирования. Обязательно обязательно предварительно отформатируйте «.close ();» операция. Если вы этого не сделаете, вы не узнаете, обрезаете вы или нет, или просто добавляете файл в начало. В зависимости от типа файла вы можете просто добавить файл, который, в зависимости от ваших потребностей, может не полностью соответствовать его назначению. Обязательно вызовите «.close ();» простота на фстриме вы пытаетесь заменить.

очистить данные внутри текстового файла в С++

Я программирую на С++. В моем коде я создаю текстовый файл, записываю данные в файл и читаю из файла с помощью потока, после того как я закончу последовательность, которую хочу, я хочу очистить все данные внутри текстового файла. Может кто подскажет команду для очистки данных в txt файле. Спасибо

задан 10 июн ’13, 22:06

5 ответы

Если вы просто откроете файл для записи с опцией truncate, вы удалите содержимое.

спасибо .. эта опция удаляет содержимое, когда я запускаю эту строку или закрываю файл? — Zeyad

Содержимое удаляется при открытии с помощью std::ofstream::trunk. — ЧистыйW

офстрим не нужен std::ofstream::out флаг, потому что он присутствует там по умолчанию. — Хасиб Мир

@HaSeeBMiR, это неправильно. Здесь нужно указать флаги out и trunc, иначе это не сработает. Да, флаг out используется по умолчанию, но в тот момент, когда он передается во флаге trunc, он переопределяется. Попробуйте. — Мерфи Мэн

Вот почему вы должны использовать побитовое ИЛИ ‘|’ чтобы оба работали. — Хасиб Мир

Насколько мне известно, простое открытие файла в режиме записи без режима добавления удалит содержимое файла.

Первая поместит бит позиции в начало, стирая все содержимое, а вторая версия поместит бит позиции в бит конца файла и запишет оттуда.

ответ дан 15 мар ’20, в 15:03

Это самый простой ответ, который я нашел! — Амин Гермази

между этими двумя решениями должна быть какая-то разница в файловой системе. возможно, truncate обеспечивает полное удаление битов из файловой системы (или, может быть, реализация ДОЛЖНА это сделать?) — Кален

Если вы установите флаг trunc.

Я тщательно проверил это для своих собственных нужд в обычной ситуации программирования, которая у меня была. Обязательно предварительно сформируйте «.close();» операция. Если вы этого не сделаете, невозможно сказать, усекаете ли вы или просто прикладываете к попрошайничеству файла. В зависимости от типа файла вы можете просто добавить его поверх файла, который в зависимости от ваших потребностей может не выполнять свою задачу. Обязательно вызовите «.close();» явное указание на fstream, который вы пытаетесь заменить.

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

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