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

Поиск слов в строке без учета регистра - C++

Восстановить пароль Регистрация
 
UEF
0 / 0 / 0
Регистрация: 30.03.2010
Сообщений: 22
15.04.2010, 17:30     Поиск слов в строке без учета регистра #1
В общем пока только один вопрос (позже возможно еще возникнут) :
Я сам написал функцию для поиска слов в строке, но ейе не хватает снятия учёта регистра. Ну например если пользователь введёт вместо "Привет" (как забито в программу) слово "привет", "пРиВеТ" и т.д. , а нужно, чтобы прога все эти варианты рассматривала как один. Плиз, помогите!
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
BOOL find (char* str, char* word){
    bool ok = 0;
    char Str[999];
    char Word[999];
    strcpy (Str, str);
    strcpy (Word, word);
    int s = strlen(Str) - 1;
    int w = strlen(Word) - 1;
    for (int i = 0; i <= s; ++i){
        for (int j = 0; j <= w; ++j){
            int ij = i + j;
            if (Str[ij] != Word[j]){ ok = 0; break;}
            else ok = 1;}
    if (ok == 1) break;}
    return ok;}
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
15.04.2010, 17:30     Поиск слов в строке без учета регистра
Посмотрите здесь:

Проверка без учета регистра C++
Поиск слов в строке C++
Удалить из сообщения слова (без учета регистра), которые повторяются. C++
C++ Сравнение строк string без учета регистра
C++ Написать программу сравнения строк без учета регистра
C++ Функция, определяющая количество символов в строке без учета пробелов
Реализовать поиск без учёта регистра C++
C++ Сравнение строк без учета имеющегося в строке числа

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
insideone
Модератор
Автор FAQ
 Аватар для insideone
3622 / 900 / 47
Регистрация: 10.01.2010
Сообщений: 2,429
15.04.2010, 17:42     Поиск слов в строке без учета регистра #2
Сообщение было отмечено автором темы, экспертом или модератором как ответ
Все нужно приводить в нижний регистр. Сравниваемый вариант должен быть не "Привет" а "привет" (в базе данных для сравнения). А фразу юзера приводите в нижний регистр а потом уже сравниваете. Можно через таблицу например заменить...
C++
1
2
3
4
5
6
7
8
    char replace[256];
    for (int i = 0; i < 256; i++)
        replace[i] = (char)i;
    replace['A'] = 'a'; replace['Б'] = 'б';
    // ...
    replace['Я'] = 'я';
    for (int i = 0; i < strlenght; i++)
        curstr[i] = replace[curstr];
Но наверное можно как то и лучше, не задавался этим вопросом...
UEF
0 / 0 / 0
Регистрация: 30.03.2010
Сообщений: 22
15.04.2010, 19:46  [ТС]     Поиск слов в строке без учета регистра #3
Мм, спасибо большое, мне это пригодиться=)
Yandex
Объявления
15.04.2010, 19:46     Поиск слов в строке без учета регистра
Ответ Создать тему
Опции темы

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