Регистрация Главная Сообщество
Сообщения за день Справка Регистрация

Поиск в файле

-

Вопросы и ответы, обсуждения

- Ваши вопросы по C/C++ только в данном разделе

Ответ
 
Опции темы
Старый 10.02.2011, 00:34   #1
 Разведчик
Аватар для Лесоруб
 
Лесоруб на правильном пути
Регистрация: 22.08.2010
Сообщений: 40
Популярность: 28
Сказал(а) спасибо: 1
Поблагодарили 9 раз(а) в 8 сообщениях
 
По умолчанию Поиск в файле

Подскажите, с помощью какой функции можно определить, сколько раз заданное с клавиатуры слово встречается в файле?
  Ответить с цитированием
Старый 26.02.2011, 23:00   #2
 Разведчик
Аватар для Лесоруб
 
Лесоруб на правильном пути
Регистрация: 22.08.2010
Сообщений: 40
Популярность: 28
Сказал(а) спасибо: 1
Поблагодарили 9 раз(а) в 8 сообщениях
 
По умолчанию Re: Поиск в файле

накатал, вроде пашет, только как реализовать, чтобы поиск проходил без учета регистра?

Код:
#include "stdafx.h"
 
using namespace std;
 

int main()
{
        const int len = 255;
        char word[len], line[len];
        int branch;
        setlocale(LC_ALL, "Russian");
        
       do
                {
					cout << "Введите слово для поиска: ";
                cin >> word;
                int l_word = strlen(word);
                ifstream fin ("text.txt");
                if (!fin) 
                        {
                                cout << "Ошибка открытия файла." << endl;
                                return 1;
                        }
 
        int count = 0;
        
        while (fin.getline(line, len))
        {
                char *p = line;
                
                while(p=strstr(p, word))
                {
                        
                        char *c=p;
                        p+=l_word;
                        
                        if(c!=line)
                                if (!ispunct(*(c-1)) && !isspace(*(c-1)))
                        continue;
                        if (ispunct(*p) || isspace(*p) || (*p == '\0'))
                                count++;
                }
        }
        cout << endl << "Слово " << word << " встретилось в файле " << count << " раз(а)." << endl; 
        cout << "\nЧтобы продолжить поиск, нажмите '1'. Чтобы выйти из программы, нажмите '2'.\n";      
	   cin >> branch;
				}
        
				while(branch!=EOF);  
        return 0;
}
  Ответить с цитированием
Старый 28.02.2011, 19:07   #3
 Сержант
Аватар для Cherinho
 
Cherinho на правильном путиCherinho на правильном пути
Регистрация: 20.09.2010
Сообщений: 106
Популярность: 172
Золото Zhyk.Ru: 50
Сказал(а) спасибо: 17
Поблагодарили 82 раз(а) в 50 сообщениях
Отправить сообщение для Cherinho с помощью ICQ
 
По умолчанию Re: Поиск в файле

без учета регистра,алгоритм такой можешь сделать:считай файл,потом преобразуй его к нижнему/верхнему регистру.потом нужную строку к тому же регистру,и ищи
  Ответить с цитированием
Ответ


Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Кто такие гладиаторы? ZliLO Треп 2 27.06.2012 10:36
[Помогите!] Есть ли такие ? eNRAGE2 Общение и обсуждение WoW 0 01.02.2011 18:25
[Помогите!] Вот такие лаги x222rus Общение и обсуждение, архив Point Blank 7 23.05.2010 16:34

Заявление об ответственности / Список мошенников

Часовой пояс GMT +4, время: 08:11.

Пишите нам: [email protected]
Copyright © 2024 vBulletin Solutions, Inc.
Translate: zCarot. Webdesign by DevArt (Fox)
G-gaMe! Team production | Since 2008
Hosted by GShost.net