Форум программистов, компьютерный форум CyberForum.ru

Удаление записи из файла - C++

Восстановить пароль Регистрация
 
ABTOP
 Аватар для ABTOP
36 / 36 / 2
Регистрация: 09.06.2008
Сообщений: 324
16.03.2010, 21:30     Удаление записи из файла #1
Вот код который добавляет 10 записей в файл..(не компилил, но работать он должен)

C++
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
#include <iostream>
#include <fstream>
using namespace std;
 
struct Num
{
     int i;
     char number[20];
};
 
void Add(char *name)
{
      fstream file(name, std::app);
      Num tmp;
      cin>>tmp.i>>tmp.number;
      file.write((char*)&tmp, sizeof(tmp));
      file.close();
};
 
int main()
{
      char name[10]="file.txt";
      for(int i=0; i<10; i++)
            Add(name);
      return 0;
}
я записываю а файл данные

Код
1        one
2        two
3        three
4        four
5        five
6        six
7        seven
8        eight
9        nine
10      ten
Вопрос... как можно на С++ удалить последнюю запись? не используя временных массивов структур в который заносятся данные из файла.. потом файл очищается и нужные данные записываются...

Спасибо
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
WonderMNS
12 / 12 / 1
Регистрация: 02.02.2010
Сообщений: 102
23.03.2010, 19:36     Удаление записи из файла #2
Нашел решение?
kravam
быдлокодер
 Аватар для kravam
1512 / 872 / 44
Регистрация: 04.06.2008
Сообщений: 5,271
23.03.2010, 20:06     Удаление записи из файла #3
Хм.
Можно просто на место последней записи писать нулевые байты. Раз файл текстовый, ось должна соответственно уменьшить размер файла.
ABTOP
 Аватар для ABTOP
36 / 36 / 2
Регистрация: 09.06.2008
Сообщений: 324
05.04.2010, 17:49  [ТС]     Удаление записи из файла #4
Цитата Сообщение от WonderMNS Посмотреть сообщение
Нашел решение?
нет

Цитата Сообщение от kravam Посмотреть сообщение
Хм.
Можно просто на место последней записи писать нулевые байты. Раз файл текстовый, ось должна соответственно уменьшить размер файла.
а можно в виде кода как вставить этот нулевой байт?
Yandex
Объявления
05.04.2010, 17:49     Удаление записи из файла
Ответ Создать тему
Опции темы

Текущее время: 19:22. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru