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

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

Войти
Регистрация
Восстановить пароль
 
Кротяка
5 / 5 / 0
Регистрация: 20.12.2010
Сообщений: 378
#1

Удалить строку из текстового файла - C++

08.12.2013, 00:43. Просмотров 929. Ответов 5
Метки нет (Все метки)

Необходимо удалить самую короткую строку из текстового файла. Данные из файла я считал. Переписал в новый файл. Проблема в поиске и удалении этой самой строки(самой короткой из всех). Ниже код:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
string line, str;
int s,k,i;
ifstream f1("123.txt");
ofstream f2("1234.txt");
    
if(!f1)
    cout<<"Не удалось открыть файл"<<endl;  
 
else{
    cout<<"Используемый файл содержит следующий текст:\n"<<endl;
        
//считываем и отображаем текст исходного файла и параллельно копируем его в новый текстовый файл
while(!f1.eof()){
    getline(f1,line);
    f2<<line<<endl;
    cout<<line<<endl;
}
f1.close();
        
//получаем самую короткую строку в файле
ifstream f2("1234.txt");
//???
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
08.12.2013, 00:43     Удалить строку из текстового файла
Посмотрите здесь:

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

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

Удалить первые 16 строк текстового файла - C++
есть текстовый документ...нужно удалить первые 16 строк

Функция, возвращающая k-ю строку текстового файла - C++
*/ Описать функцию getLine(Name,k) строкового типа, возвращающую k-ю строку текстового файла с именем Name (строки нумеруются от 0). Если...

С текстового файла прочитать строку слов - C++
1.С текстового файла прочитать строку слов. помогите решить очень нужно буду благодарен буду, просто напише код заранее спасибо.

Удалить все гласные буквы из текстового файла - C++
Возник такая ситуация как можно удалить как можно удалить все гласные буквы из текстового файла не могу понять. подскажите пожалуйста хочу...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Alex566
240 / 152 / 18
Регистрация: 03.04.2013
Сообщений: 317
08.12.2013, 01:27     Удалить строку из текстового файла #2
Считывая и сразу записывая у вас не выйдет. Нужно сначала считать строки в массив, найти номер самой короткой строки (допустим min) и записать строки обратно в файл с условием if(i!=min) где i - номер текущей записываемой строки.
Кротяка
5 / 5 / 0
Регистрация: 20.12.2010
Сообщений: 378
08.12.2013, 01:47  [ТС]     Удалить строку из текстового файла #3
Alex566, как получить номер строки?
Alex566
240 / 152 / 18
Регистрация: 03.04.2013
Сообщений: 317
08.12.2013, 01:53     Удалить строку из текстового файла #4
Допустим вы считали содержимое в массив строк - text. Переменная min - номер самой короткой строки по дефолту 0. Объявляете цикл for(int i=1;i<количество_строк;i++) и в нем оператор ветвления if(strlen(text[i])<strlen(text[min])) min=i.
Кротяка
5 / 5 / 0
Регистрация: 20.12.2010
Сообщений: 378
08.12.2013, 02:04  [ТС]     Удалить строку из текстового файла #5
Alex566, как узнать количество строк?

Добавлено через 3 минуты
всё, уже понял
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
08.12.2013, 02:06     Удалить строку из текстового файла
Еще ссылки по теме:

Удалить из текстового файла все однобуквенные слова - C++
Дан текстовый файл f. Удалить из файла все однобуквенные слова.

Из текстового файла распечатать строку с заданным номером - C++
Нужно доработать программу.Зависает.С++.Файлы После ввода в консоль номер строки, консоль зависает. Вот код: #include...

Определить самую короткую строку текстового файла - C++
помогите пожалуйста

Распечатать строку с заданным номером из текстового файла - C++
Задание: Пусть дан текстовый файл.Распечатайте строку с заданным номером. Вот начало дальше не знаю что делать,прошу помощи. ...

Удалить в каждой строке текстового файла последнее слово - C++
Выполнить обработку текстового файла. Определить кол-во предложений в исходном тексте.как реализовать ?Удалить в каждой строке последнее...

Из текстового файла удалить все слова, не соответствующие шаблону - C++
Ребята, помогите сделать эту лабу, вторые выходные сижу и мучаюсь. Вот она: Из текстового файла удалить все слова, не соответствующие...


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

Или воспользуйтесь поиском по форуму:
Alex566
240 / 152 / 18
Регистрация: 03.04.2013
Сообщений: 317
08.12.2013, 02:06     Удалить строку из текстового файла #6
Посчитать при считывании. Добавить интовую переменную n - количество строк по дефолту 0. В конце цикла считывания строки добавить n++;
Yandex
Объявления
08.12.2013, 02:06     Удалить строку из текстового файла
Ответ Создать тему
Опции темы

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