|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
20.05.2011, 18:39 | #1 |
Пользователь
Регистрация: 15.04.2011
Сообщений: 38
|
Какой раз пытаюсь понять как же сделать в одном потоке удаление строки из файла... но безуспешно.
Ребят, столкнулся еще давно с проблемой о том что никак не могу удалить ( в Borland C++) строку из файла ( строка вводится с консоли)
пробовал делать с участием оперативной памяти, переносил всю информацию из файла в динамический массив, потом обрабатывал пытался обратно занести информацию но так и безуспешно... так же пытался заменить пустой строкой строку которую нужно удалить... тоже безуспешно( мне сказали что лучше всего сделать удаление строки из файла в одной потоке... и сказали что это несложно... но когда я спросил "вообще это как?" то так и не услышал ответа... =( прошу подсказать если не сложно ) буду очень благодарен, думаю что не стоит эта программы 2-3 ех недель мучений сидя с книжкой К. и Р. , устал уже) |
20.05.2011, 18:55 | #2 |
Сливочное масло
Участник клуба
Регистрация: 01.01.2011
Сообщений: 1,149
|
1. Открываешь фаил 1 на чтение.
2. Открываешь фаил 2 на запись. 3. В цикле переписываешь тупо строки фаила 1 в фаил 2. - если встретилась заданая строка, то не делаем добавление в фаил 2. 4. Закрываем фаилы. 5. Заменяем фаил 1 файлом 2. Или что ты вообще спросил то?
Сливочное масло Valio - компиляция как по маслу
Последний раз редактировалось Valio; 20.05.2011 в 19:02. |
20.05.2011, 19:02 | #3 |
Пользователь
Регистрация: 15.04.2011
Сообщений: 38
|
я так пробовал, но это использование временных файлов, которое мне не подходит,
меня интересует работа с потоком , т.е это возможно сделать в одном потоке! Спасибо, за совет, но я так пробовал) просто эта программа будет неверной если файл весит 3 гб например))) и оперативы не хватит) |
20.05.2011, 19:05 | #4 | ||
Сливочное масло
Участник клуба
Регистрация: 01.01.2011
Сообщений: 1,149
|
Цитата:
Цитата:
Сливочное масло Valio - компиляция как по маслу
|
||
20.05.2011, 19:09 | #5 |
Пользователь
Регистрация: 15.04.2011
Сообщений: 38
|
потому что у тебя оператива забьется и программа не станет работать..
переведем образ игры например в текстовик) вот и будет такой файл)) при создании массива у тебя используется так же оперативка, ты в нее помещаешь информацию с файла... я пробовал так( |
20.05.2011, 19:23 | #6 | |
Сливочное масло
Участник клуба
Регистрация: 01.01.2011
Сообщений: 1,149
|
Цитата:
И вообще фаил образа это ничто иное как подобие архива. Какая задача стоит? Что на входе? Что на выходе?
Сливочное масло Valio - компиляция как по маслу
|
|
20.05.2011, 22:18 | #7 |
Пользователь
Регистрация: 15.04.2011
Сообщений: 38
|
смотри как звучит задание программы:
С консоли ввести имя и путь файла и произвольную строку. Из файла должна быть удалена строка введеная с консоли. Я хочу это сделать с использованием потока. |
20.05.2011, 22:38 | #8 | |
Сливочное масло
Участник клуба
Регистрация: 01.01.2011
Сообщений: 1,149
|
Цитата:
Это не то задание где можно реально посмотреть всю нужность потоков.
Сливочное масло Valio - компиляция как по маслу
|
|
20.05.2011, 22:42 | #9 |
Пользователь
Регистрация: 15.04.2011
Сообщений: 38
|
Можно ли как то еще провернуть удаление без временного файла и без создания массива строк файла?
если да, то скажи идейку) или примерчик какой-нибудь.. |
20.05.2011, 23:02 | #10 | |
Сливочное масло
Участник клуба
Регистрация: 01.01.2011
Сообщений: 1,149
|
Цитата:
"Прелесть" текстового файла в том, что читать его можно только последовательно. Для того чтоб прочитать что в 150 строке нужно прочитать все предыдущие 149. Что касается 3 Гб текстовый фаил, то я смутно представляю такой текстовый фаил. Такие объёмы размещают обычно в БД. Я могу только посоветовать поглядеть в сторону типизированых файлов. В отличие от текстовых их можно читать с какой угодно позиции используя Seek (Delphi).
Сливочное масло Valio - компиляция как по маслу
|
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
При чтении из консоли в одном потоке, не передается управление другому потоку | Хохол | Общие вопросы по Java, Java SE, Kotlin | 3 | 10.11.2010 18:22 |
Как сделать все процессы на одном Timer | Sanek777 | Общие вопросы Delphi | 5 | 26.09.2008 17:56 |
Удаление строки из файла | Македонский | Общие вопросы Delphi | 5 | 29.08.2007 15:40 |
Как сделать все данные на одном языке? | Python | Microsoft Office Excel | 2 | 29.01.2007 12:37 |