Как очистить файл?
Преподаватель сказал, что он должен очищать файл при открытии, но в итоге он не очищает
Функция 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
‘> Очистить содержимое файла