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

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

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 16, средняя оценка - 4.69
ALI
Сообщений: n/a
20.04.2008, 22:58     Удаление фраз из текстового файла #1
Дан текстовый файл, фразы в котором отделены друг от друга точками, а слова – пробелами и знаками препинания. Оставить в этом файле только те фразы, которые содержат не менее трех слов.

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

Код
#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++ Выборка из текстового файла
Создание и удаление текстового файла C++
Печать текстового файла C++
C++ Редактирование текстового файла
Чтение из текстового файла C++
Чтение текстового файла C++
Удаление из текстового файла C++
C++ Считывание из текстового файла
C++ Запись и считывание двух фраз из файла по условию
Печать текстового файла C++
C++ Чтение текстового файла
C++ Чтение из текстового файла

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

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

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