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

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

Войти
Регистрация
Восстановить пароль
 
Devil7
0 / 0 / 0
Регистрация: 05.10.2011
Сообщений: 97
#1

Обработка файловой информации - C++

02.03.2012, 21:25. Просмотров 642. Ответов 8
Метки нет (Все метки)

Будте добры, помогите разобраться с задачей: дан текстовый файл, фразы в котором отделены друг от друга точками, а слова – пробелами и знаками препинания. Оставить в этом файле только те фразы, в которых имеется числовая информация. Любой помощи буду благодарен. Спасибо.
Лучшие ответы (1)
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
retmas
Жарю без масла
842 / 724 / 158
Регистрация: 13.01.2012
Сообщений: 1,671
02.03.2012, 21:32     Обработка файловой информации #2
Сообщение было отмечено автором темы, экспертом или модератором как ответ
читаешь файл по фразам
C++
1
2
3
4
ifstream f("file");
string phrase;
...
getline(f, phrase, '.');
проверяешь каждую фразу на содержание в ней цифр
C++
1
2
if(phrase.find_first_of("0123456789") != string::npos)
    ...
Devil7
0 / 0 / 0
Регистрация: 05.10.2011
Сообщений: 97
05.03.2012, 20:21  [ТС]     Обработка файловой информации #3
Фразой тут является предложение от точки до точки. Вот если какая-либо числовая информация встретится, то все предложение нужно оставить. Все остальное удалить. Вот мое тело, но как сделать, что бы осталось целое предложение не могу придумать(

C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
# include <stdio.h>
 
int main ()
{
    char n;
    FILE *fin;
    if((fin=fopen("read.txt","rt"))==0)
    {
        printf("File can not found");
        return 1;
    }
    while (!feof(fin))
    {
        fscanf(fin,"%c",&n);
        printf("%c",n);
    }
    fclose(fin);
}
Добавлено через 1 час 42 минуты
.....

Добавлено через 21 минуту
........

Добавлено через 31 минуту
(((((

Добавлено через 6 минут
Аааа((( никто не отвечает))
Avazart
 Аватар для Avazart
7037 / 5214 / 259
Регистрация: 10.12.2010
Сообщений: 22,918
Записей в блоге: 17
05.03.2012, 20:25     Обработка файловой информации #4
использовать то что retmas написал: записывать не посимвольно, а предложениями которые записывать в строку string phrase
Devil7
0 / 0 / 0
Регистрация: 05.10.2011
Сообщений: 97
05.03.2012, 20:32  [ТС]     Обработка файловой информации #5
Avazart, было бы любезно с вашей стороны если объяснили, какой смысл содержат строки retmas, точнее их спицифика работы и функция. В интернете ищу целый день, никак ничего не мог унайти подобного( Спасибо.
Avazart
 Аватар для Avazart
7037 / 5214 / 259
Регистрация: 10.12.2010
Сообщений: 22,918
Записей в блоге: 17
05.03.2012, 20:47     Обработка файловой информации #6
Скачайте к примеру книгу Шилда "Самоучитель" там есть про строки и про ввод-вывод

C++
1
2
3
4
5
6
7
#include <string>
#include <fstream>
 
std::ifstream f("file"); // открытие файла для чтения с именем "file"
std::string phrase;   // строка (контейнер)  
...
getline(f, phrase, '.'); // Чтение из файла в строку phrase до встречи символа "." или конца строки "\n" или конца файла
Добавлено через 9 минут
C++
1
if(phrase.find_first_of("0123456789") != string::npos)  //  Использование  метода строки который ищет заданные символы в строке и возращает их позицию
Devil7
0 / 0 / 0
Регистрация: 05.10.2011
Сообщений: 97
05.03.2012, 20:49  [ТС]     Обработка файловой информации #7
Спасибо вам огромное, буду пробовать щас.
retmas
Жарю без масла
842 / 724 / 158
Регистрация: 13.01.2012
Сообщений: 1,671
05.03.2012, 21:02     Обработка файловой информации #8
Цитата Сообщение от Avazart Посмотреть сообщение
getline(f, phrase, '.'); // Чтение из файла в строку phrase до встречи символа "." или конца строки "\n" или конца файла
поправочка: чтение из файла в строку phrase до встречи символа '.' или конца файла
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
05.03.2012, 21:36     Обработка файловой информации
Еще ссылки по теме:

C++ Обработка символьной информации
C++ Обработка символьной информации
Обработка символьной информации C++
Обработка массивов информации C++
C++ Обработка файловой структуры данных использование записи

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

Или воспользуйтесь поиском по форуму:
Avazart
 Аватар для Avazart
7037 / 5214 / 259
Регистрация: 10.12.2010
Сообщений: 22,918
Записей в блоге: 17
05.03.2012, 21:36     Обработка файловой информации #9
Да именно так, плюс нюанс getline удаляет символ разделитель "." из потока, но не записывает его в строку
Yandex
Объявления
05.03.2012, 21:36     Обработка файловой информации
Ответ Создать тему
Опции темы

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