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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 16, средняя оценка - 4.69
ALI
Сообщений: n/a
#1

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

20.04.2008, 22:58. Просмотров 1929. Ответов 0
Метки нет (Все метки)

Дан текстовый файл, фразы в котором отделены друг от друга точками, а слова – пробелами и знаками препинания. Оставить в этом файле только те фразы, которые содержат не менее трех слов.

может кому пригодится, вот код:

Код
#include <string.h>
#include <stdio.h>

int main(void)
{
    int kp;
    char *k, *nf, *kf;

    FILE *f1, *f2;

    // Открываем файл old.txt на чтение
    if ((f1 = fopen("old.txt", "r")) == 0)
    {
        printf("Ошибка при открытии файла old.txt");
        return 1;
    }

    // Открываем файл new.txt на добавление
    if ((f2 = fopen("new.txt", "a")) == 0)
    {
        printf("Ошибка при открытии файла new.txt");
        return 1;
    }

    const int N = 109;
    char ch[N];

    // Читаем фразы
    nf = fgets(ch, N, f1);
    if (!nf)
    {
        printf("Ошибка чтения файла old.txt");
        return 1;
    }

    // Ищем конец очередной фразы
    while ((kf = strchr(nf, '.')) != NULL)
    {
        // Счетчик пробелов
        kp = 0;
        for (k = nf; k <= kf; k++)
            if (*k == ' ')  kp++;
        // Если пробелов больше одного, то слов больше двух
        if (kp > 1)
        {
            // Записываем в файл
            if (nf != ch) fputc(' ', f2);
            for (k = nf; k <= kf; k++)
                fputc(*k, f2);
        }
        nf = ++kf;
        while (*nf == ' ') nf++;
    }

    // Для последующих добавлений к файлу
    fputc(' ', f2);

    // Сохраняем результат и закрываем файлы
    fflush(f2);
    fclose(f2);
    fclose(f1);  

    return 0;

}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
20.04.2008, 22:58     Удаление фраз из текстового файла
Посмотрите здесь:

Удаление из текстового файла - C++
Необходимо удалить структуру из текстового файла. Я создал 2 файла. Считываю все с первого , вбиваю во второй. Затем наоборот. Если удалять...

Создание и удаление текстового файла - C++
Люди добрые помогите пожалуйста. делаю курсовую задание &quot;Создание и удаление текстового файла&quot;, саму программу сделал вот теперь нужно...

Запись и считывание двух фраз из файла по условию - C++
Стоит задача создать программу которая будет записывать 2 фразы в 2 разные переменные и считывать эти фразы из файла и потом идёт проверка...

Считывание из текстового файла - C++
Всем привет. У меня есть текстовый файл в котором, к примеру записана информация:&quot;Фамилия Имя&quot;. Как мне из этого файла по словно...

Выборка из текстового файла - C++
Добрый день! Помогите пожалуйста решить такую задачу: Есть текстовый файл 1.txt, многострочный. Требуется выводить в другой файл 2.txt...

Шифрование текстового файла - C++
Нужен код для шифрования русскоязычного текста методом простой подстановки(каждой букве алфавита ставится в соответствие другая буква,...

Проверка текстового файла - C++
Мне нужны 2 условия: если файл пустой и (кто бы мог подумать?) НЕ пустой. Как проверить файл на его содержимое с помощью fstream?

Кодировка текстового файла - C++
Есть программа которая шифрует текст на основе таблицы замены (таблица замены разработана исходя из кодировки ASCII). Раньше все было...

Чтение из текстового файла - C++
Нашел программу для чтения из файла информации: Номер предмета, Наименование, Фамилия. Помогите создать текстовый документ под программу,...

Чтение из текстового файла - C++
как сделать чтобы прога выводила на экран слова из текстового документа пока не натыкалась на символ &quot;;&quot; а после этого прога начиналась с...


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ответ Создать тему
Опции темы

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