Модераторы: bsa
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Рабато с файлом, найти слово 
:(
    Опции темы
kuller
Дата 15.12.2007, 14:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 310
Регистрация: 15.11.2007

Репутация: нет
Всего: нет



Вот значит что мне нужно сделать  ... в файле записан текст .... нало ввести искомое слово с клавиатуры и найти его в этом файле .... я могу его найти без проблем .. ну вот в чем проблема нАдовывести предложение в котором это слово встречается .... если это была строка то по указателю без проблем ... а в файле как мне контролировать начало и конец предложения .... подскажите кто знает ... заранее спасибо!
PM MAIL   Вверх
JackYF
Дата 15.12.2007, 14:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


полуавантюрист
****


Профиль
Группа: Участник
Сообщений: 5814
Регистрация: 28.8.2004
Где: страна тысячи озё р

Репутация: 6
Всего: 162



Цитата(kuller @  15.12.2007,  14:29 Найти цитируемый пост)
контролировать начало и конец предложения

Считываешь весь файл как строку, находишь позицию слова. Дальше ищешь ближайшую точку слева и справа. Вот это и будут границы предложения, например.


--------------------
Пожаловаться на меня как модератора можно здесь.
PM MAIL Jabber   Вверх
kuller
Дата 15.12.2007, 14:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 310
Регистрация: 15.11.2007

Репутация: нет
Всего: нет



Немог бы подсказать функцию считывания файла в строку .......... этож какого размера получится строка ...........
PM MAIL   Вверх
JackYF
Дата 15.12.2007, 15:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


полуавантюрист
****


Профиль
Группа: Участник
Сообщений: 5814
Регистрация: 28.8.2004
Где: страна тысячи озё р

Репутация: 6
Всего: 162



Цитата(kuller @  15.12.2007,  14:37 Найти цитируемый пост)
этож какого размера получится строка ........... 

такого же, как и файл.

Цитата(kuller @  15.12.2007,  14:37 Найти цитируемый пост)
Немог бы подсказать функцию считывания файла в строку

одной такой функции нет.

Можешь поступить по-другому: считываешь файл по-символьно, как только встретишь точку, ищешь подстроку в строке, если нет, обнуляешь буфер и считываешь дальше, если да - то в буфере как раз окажется предложение.


--------------------
Пожаловаться на меня как модератора можно здесь.
PM MAIL Jabber   Вверх
kuller
Дата 15.12.2007, 15:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 310
Регистрация: 15.11.2007

Репутация: нет
Всего: нет



Цитата

такого же, как и файл.

к примеру 
Код

char st[5000]; 
 
можно в С делать такую большую строку????
PM MAIL   Вверх
zkv
Дата 15.12.2007, 15:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата



****


Профиль
Группа: Участник Клуба
Сообщений: 2133
Регистрация: 23.7.2006
Где: Санкт-Петербург

Репутация: нет
Всего: 92



Цитата(kuller @  15.12.2007,  15:33 Найти цитируемый пост)
можно в С делать такую большую строку???? 

размер ограничен размерами стека.
например Visual C++ 8 по умолчанию выделяет под стек 1Мб, вот и думай, большая у тебя строка или нет  smile 
если сомневаешься, то используй динамические массивы:
Код

char *st = new char[5000]; 
//...
//тут работаем
//...
delete []st;


Добавлено через 49 секунд
блин если Си, то malloc/calloc/realloc/free
PM MAIL   Вверх
bsa
Дата 15.12.2007, 16:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 9185
Регистрация: 6.4.2006
Где: Москва, Россия

Репутация: 85
Всего: 196



На си можно еще воспользоваться fscanf(), чтобы не выделять такие объемы памяти под весь файл. Она же умеет читать пословно ("%s").
PM   Вверх
kuller
Дата 15.12.2007, 16:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 310
Регистрация: 15.11.2007

Репутация: нет
Всего: нет



правильно она читает то пословно ..... ну нашел я то слово которое мне надо ..... а как то вывести предложение в котором оно содержится???? вот тут то и вся проблема .... я этой функцией   fscanf() и пользуюсь))) 
PM MAIL   Вверх
JackYF
Дата 15.12.2007, 16:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


полуавантюрист
****


Профиль
Группа: Участник
Сообщений: 5814
Регистрация: 28.8.2004
Где: страна тысячи озё р

Репутация: 6
Всего: 162



Цитата(kuller @  15.12.2007,  16:08 Найти цитируемый пост)
а как то вывести предложение в котором оно содержится????

Цитата(JackYF @  15.12.2007,  15:16 Найти цитируемый пост)
Можешь поступить по-другому: считываешь файл по-символьно, как только встретишь точку, ищешь подстроку в строке, если нет, обнуляешь буфер и считываешь дальше, если да - то в буфере как раз окажется предложение. 


Не подходит?




--------------------
Пожаловаться на меня как модератора можно здесь.
PM MAIL Jabber   Вверх
bsa
Дата 15.12.2007, 16:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 9185
Регистрация: 6.4.2006
Где: Москва, Россия

Репутация: 85
Всего: 196



kuller, вот именно, делаешь так, как сказал JackYF, но пользуешься уже не fscanf(), sscanf()
PM   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "C/C++: Для новичков"
JackYF
bsa

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, bsa.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Для новичков | Следующая тема »


 




[ Время генерации скрипта: 0.0655 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.