Форум программистов, компьютерный форум, киберфорум
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 16, средняя оценка - 4.63
IIIa66uMEM6eP
заставил Бендера
436 / 292 / 10
Регистрация: 05.12.2010
Сообщений: 1,648
Записей в блоге: 6
#1

Удаление строки из файла через сдвиги. - C++

06.06.2011, 17:47. Просмотров 2112. Ответов 24
Метки нет (Все метки)

Добрый день. Прощу помочь с защитой лабы.
Есть файл тхт, в нем названия банков и значения по годам:
Банк 2000г 2001г
ВТБ; 35.4; 31.5
.....................
Банк Москвы; 0; 4.2

Что нужно:
Нам нужно удалить банки с значением 0 в один из годов. Решать эту задачу мы должны через сдвиги, так же мы не должны использовать буферные файлы или отдельные массивы строк.

Прикрепляю файл и ссылку на тему в которой решали саму лабу.
0
Вложения
Тип файла: txt fail.txt (489 байт, 19 просмотров)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
06.06.2011, 17:47
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Удаление строки из файла через сдвиги. (C++):

Удаление строки из файла\либо удаление самого файла. - C++
День добрый, вот функция(используемые переменные объявленны ранее): void delete_cruise() { FILE *fout; open_file("abase.dat"); ...

Удаление строки файла - C++
Подскажите как удалить строку из файла? я знаю что можно перезаписывать файл, удалить из первого файла строку и записать в другой файл.

Удаление из файла строки - C++
Есть файл (computers.dat) куда записываются данные (структура) о компьютерах (тип, год, цена). Задание: Пользователь вводит год...

Удаление строки из файла - C++
В общем у меня есть текстовый документ, в котором что-то записано таблицей. И мне надо удалить из неё какую-либо строку. Я решил читать...

Удаление строки из файла - C++
Добрый день, возник вопрос возможно ли удалить/изменить в файле слово/строку, не перезаписывая при этом весь файл?

Удаление строки из файла - C++
Кто может подсказать рабочую функцию удаление строки из файла. Поиск строки не нужен, только удаление :)

24
IIIa66uMEM6eP
заставил Бендера
436 / 292 / 10
Регистрация: 05.12.2010
Сообщений: 1,648
Записей в блоге: 6
09.06.2011, 13:34  [ТС] #16
ValeryLaptev, вот так защита лабораторной)
0
ValeryLaptev
Эксперт С++
1046 / 825 / 48
Регистрация: 30.04.2011
Сообщений: 1,659
09.06.2011, 13:38 #17
Цитата Сообщение от IIIa66uMEM6eP Посмотреть сообщение
ValeryLaptev, вот так защита лабораторной)
Как обычно возможны два варианта...
1. Либо вы не совсем поняли препода в каких-то мелочах. Потому как перезапись ТРАДИЦИОННО исполняется только для двоичных файлов. Но никак не текстовых.
2. Либо препод совершенно не имеет реального опыта программирования. Отсюда и завихрительные требования. Ни один реальный программер не будет перезаписывать текстовый файл по месту.
0
IIIa66uMEM6eP
заставил Бендера
436 / 292 / 10
Регистрация: 05.12.2010
Сообщений: 1,648
Записей в блоге: 6
09.06.2011, 13:40  [ТС] #18
2. точно два, ну он паскалист - незнаю может там это проще.
0
ValeryLaptev
Эксперт С++
1046 / 825 / 48
Регистрация: 30.04.2011
Сообщений: 1,659
09.06.2011, 13:49 #19
IIIa66uMEM6eP, тогда можно просто рассказать ему все наши соображения. Что строки разной длины, что надо запоминать позиции концов строк, что для перезаписи нужно открывать тот же файл в двоичном байтовом режиме и т.д. Мож впечатлится информацией, которую вам пришлось раскапывать...
0
IIIa66uMEM6eP
заставил Бендера
436 / 292 / 10
Регистрация: 05.12.2010
Сообщений: 1,648
Записей в блоге: 6
09.06.2011, 13:51  [ТС] #20
ValeryLaptev, иии)) скажет ну если все знаете - реализовывайте, приходите на защиту.. надо как то сформулировать - что бы ни вопросов ни придлогов) спасибо

Добавлено через 51 секунду
ValeryLaptev, вы же кажется тоже преподаватель?
0
ValeryLaptev
Эксперт С++
1046 / 825 / 48
Регистрация: 30.04.2011
Сообщений: 1,659
09.06.2011, 14:17 #21
Цитата Сообщение от IIIa66uMEM6eP Посмотреть сообщение
ValeryLaptev, иии)) скажет ну если все знаете - реализовывайте, приходите на защиту.. надо как то сформулировать - что бы ни вопросов ни придлогов) спасибо

Добавлено через 51 секунду
ValeryLaptev, вы же кажется тоже преподаватель?
Я - преподаватель. Но я 20 лет был программистом. А преподаю сейчас как раз С++ для наших программеров. Мой сборник заданий по ООП можно посмотреть - там есть глава про ввод-вывод. И я там как раз не смешиваю двоичный и текстовый для перезаписи. У меня там так:
- входной и выходной - текстовые
- входной текстовый, выходной - двоичный
- входной двоичный, выходной - текстовый
- входной и выходной - двоичные
- один входной-выходной двоичный для перезаписи по месту.
0
IIIa66uMEM6eP
заставил Бендера
436 / 292 / 10
Регистрация: 05.12.2010
Сообщений: 1,648
Записей в блоге: 6
09.06.2011, 14:24  [ТС] #22
ValeryLaptev, грубо говоря так сделать нельзя. без темповского файла или без массива строк избавится от строк с нулем в графе суды
0
ValeryLaptev
Эксперт С++
1046 / 825 / 48
Регистрация: 30.04.2011
Сообщений: 1,659
09.06.2011, 14:40 #23
Цитата Сообщение от IIIa66uMEM6eP Посмотреть сообщение
ValeryLaptev, грубо говоря так сделать нельзя. без темповского файла или без массива строк избавится от строк с нулем в графе суды
В принципе - можно, но очень уж геморно. Поэтому обычно удаление делается только перезаписыванием в новый файл. Так даже в базах данных делают. И в почтовых программах.
Когда ты нажимаешь на "Удалить" запись физически НЕ удаляется, а просто отмечается как удаленная. А реальное удаление выполняется, когда пользователь нажимает "Сжать" папку (или упаковать). Тогда пишется новый файл с пропусками отмеченных записей. А потом старый удаляется.
0
IIIa66uMEM6eP
заставил Бендера
436 / 292 / 10
Регистрация: 05.12.2010
Сообщений: 1,648
Записей в блоге: 6
09.06.2011, 14:41  [ТС] #24
ValeryLaptev, жаль, если я скажу - впринципе можно - это закончится "гемором"
0
ValeryLaptev
Эксперт С++
1046 / 825 / 48
Регистрация: 30.04.2011
Сообщений: 1,659
09.06.2011, 14:45 #25
Цитата Сообщение от IIIa66uMEM6eP Посмотреть сообщение
ValeryLaptev, жаль, если я скажу - впринципе можно - это закончится "гемором"
Тогда не говори. Просто приведи примеры из почятовых программ и БД, и скажи, что профи делают вот так. Без выходного файла - никак. Если сможет - пусть покажет сам... А я посмеюсь.
Или он чего-то совсем простое имел ввиду, а ты его не совсем понял... Так что есть смысл сначала переспросить про постановку задачи. Пусть нарисует, что он имел ввиду. Или сам нарисуй ему, как ты его понял.
А потом уже про БД и почту...
0
09.06.2011, 14:45
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
09.06.2011, 14:45
Привет! Вот еще темы с ответами:

Удаление строки из файла - C++
Сабж, осуществляю ввод и вывод с помощью iostream и использованием векторного массива, нужно удалить строку из файла... Интересует пример...

Удаление строки из файла - C++
Здравствуйте! Подскажите пожалуйста, как реализовать функцию удаления нужной строки из файла. Только не по номеру, а по содержимому! Я так...

Удаление из строки повторяющихся элементов (через функцию) - C++
Добрый день! #include <iostream> #include <math.h> using namespace std; //Удаление повторяющихся элементов в алфавите ...

Удаление последней строки из файла - C++
Добрый день, форумчане. Назрел такой вопрос у меня: как удалить последнюю строчку в файле и переместить указатель на предыдущую? Заранее...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
25
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.