![]() |
Модераторы: Daevaorn |
![]() ![]() ![]() |
|
Vex |
|
||||
![]() кацапосрачмученiкъ ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 3103 Регистрация: 28.3.2002 Где: strawberry fields Репутация: 1 Всего: 88 |
Как удалить одну запись из файла:
вот например:
ну записали мы туда несколько структур, теперь читаем:
Как мне удалить, например, пятую запись? Есть ли там вообще какие-то методы типа insert или delete? P.S. ну и гадость же этот с++ даже нет типизированых файлов, зато куча классов в которых и черт голову сломит, полная анархия ![]() -------------------- Слава Україні. |
||||
|
|||||
Guest |
|
|||
Unregistered |
Я не очень понял, про что вопрос, но постараюсь ответить.
1. создай массив структур, считывай все в массив, а потом пропускай ненужные элементы при записи или добавляй их. 2. можешь вместо файлов использовать СУБД. 3. можешь сам определить функции или методы методы типа insert или delete для своих структур и использовать их. |
|||
|
||||
Vex |
|
||||||
![]() кацапосрачмученiкъ ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 3103 Регистрация: 28.3.2002 Где: strawberry fields Репутация: 1 Всего: 88 |
Не хочу заморачиваться с динамическими массивами, а С++ наверняка не поддерживает открытых массивов.
Исключено.
Наверное так и придется делать. З.Ы. Блин, сколько классов для одной простой цели (ввод-вывод в файл) а нет самых элементарных вещей ![]() -------------------- Слава Україні. |
||||||
|
|||||||
Anklav |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 94 Регистрация: 9.12.2003 Где: Менск Репутация: нет Всего: 1 |
Ну, написать класс такого динамического массива - это не проблема, на то он и C++. |
|||
|
||||
Baa |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 2639 Регистрация: 12.4.2002 Где: Москва Репутация: 8 Всего: 12 |
а почему нельзя использовать STL? vector или list
-------------------- "Duty is everything; the greatest of joys, the deepest of sorrows" Aribeth de Tylmarande |
|||
|
||||
Гость00 |
|
|||
Unregistered |
Типизированный файл можно объявить, например, просто используя шаблоны basic_(if,of)stream Например, обычный ofstream объявляется как typedef basic_ofstream<char, char_traits<char>> ofstream; Можно вместо char поставить другой тип |
|||
|
||||
Sined |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 78 Регистрация: 19.5.2004 Репутация: 1 Всего: 0 |
Привет! Вот прогрммка, которая удаляет из заданной позиции файла задданое количество байт--один глюк правда, размер при этом не меняется
|
|||
|
||||
Vex |
|
|||
![]() кацапосрачмученiкъ ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 3103 Регистрация: 28.3.2002 Где: strawberry fields Репутация: 1 Всего: 88 |
Не я выбираю, что мне использовать ![]() Sined, о, то что надо, спасибо ![]() Дополнительные классы мне писать некогда, да и на сях я очень редко сижу, так что все хочется сделать быстро с помощью стандартных библиотек и не мучаться. -------------------- Слава Україні. |
|||
|
||||
Baa |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 2639 Регистрация: 12.4.2002 Где: Москва Репутация: 8 Всего: 12 |
-------------------- "Duty is everything; the greatest of joys, the deepest of sorrows" Aribeth de Tylmarande |
|||
|
||||
Vex |
|
|||
![]() кацапосрачмученiкъ ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 3103 Регистрация: 28.3.2002 Где: strawberry fields Репутация: 1 Всего: 88 |
Baa, сенькс ;)
Люди, подскажите аналог паскалевского Rewrite(); // запись файла с нуля З.Ы. 2Baa что-то нам с инетом не везет, часто падает, и аська стала глючной ![]() -------------------- Слава Україні. |
|||
|
||||
Sined |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 78 Регистрация: 19.5.2004 Репутация: 1 Всего: 0 |
Не мог бы ты поподробнее сказать...
Если просто отбросить содержимое файла например так fstream D2("file_name",ios::bin|ios::trunc); |
|||
|
||||
Vex |
|
|||
![]() кацапосрачмученiкъ ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 3103 Регистрация: 28.3.2002 Где: strawberry fields Репутация: 1 Всего: 88 |
ОК, понятно. мне надо, чтобы при добавлении записи в файл старые данные исчезли.
а не подскажите функцию удаления файла? З.Ы. извините, что всех уже замучал, просто из С++ под рукой есть только книга "Visual C++ 6.0 Для профессионалов" ![]() З.Ы модеры извините меня, но вопросы столь мелочные, что даже новую тему открывать не стоит, но если скажете, я все удалю и создам соответствующие топики. -------------------- Слава Україні. |
|||
|
||||
chipset |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 4071 Регистрация: 11.1.2003 Где: Seattle, US Репутация: 27 Всего: 165 |
Vex
Visual C++ 6.0 для профессионалов Круглински, Шеферд, Уингоу? Да классная книжка ![]() Ах да функция удаления файла... DeleteFile("file.txt"); Ещё exception'ами окружи, мало ли ![]() --------------------
|
|||
|
||||
sergejzr |
|
|||
![]() Un salsero ![]() Профиль Группа: Админ Сообщений: 13285 Регистрация: 10.2.2004 Где: Германия г .Ганновер Репутация: 19 Всего: 360 |
Ну или на Анзи Си
|
|||
|
||||
Vex |
|
|||
![]() кацапосрачмученiкъ ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 3103 Регистрация: 28.3.2002 Где: strawberry fields Репутация: 1 Всего: 88 |
Baa, нашел глюк в твоем коде, когда даные копируются, то во втором файле дублируется последняя запись, не подскажешь как исправить?
Добавлено @ 14:06 еще не удаляется последняя запись. -------------------- Слава Україні. |
|||
|
||||
![]() ![]() ![]() |
Правила форума "С++:Общие вопросы" | |
|
Добро пожаловать!
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | C/C++: Общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |