Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/30: Рейтинг темы: голосов - 30, средняя оценка - 5.00
1 / 1 / 0
Регистрация: 13.10.2009
Сообщений: 4

Регистр строки

28.11.2009, 18:46. Показов 5727. Ответов 7
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Подскажите, пожалуйста, есть ли в с++ функция игнорирования изменения регистра строки (char)?

То есть программа считает слова "Мама" и "мама" как два разных слова, а мне нужно как одно.

Огромное спасибо.
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
28.11.2009, 18:46
Ответы с готовыми решениями:

Сравнить строки, игнорируя регистр
День добрый. Нужно написать программу, которая предлагает пользователю ввести две строки, а затем сравнивает их, игнорируя регистр. Как...

Преобразование строки в верхний регистр
#include <iostream> #include <cstring> #include <cctype> #include <string> using namespace std; void StringUpper(char *str); ...

Перевод строки в верхний регистр
Препод задал задание написать программу перевода строки в верхний регистр без использования специальных фукций, сам перевод оформить в виде...

7
║XLR8║
 Аватар для outoftime
1212 / 909 / 270
Регистрация: 25.07.2009
Сообщений: 4,360
Записей в блоге: 5
28.11.2009, 18:54
на щет строки чаров не знаю, но есть для строки, вот короче ссылка на функцию, которая переводит строку в нижний регистр, справа там есть весь функционал библиотеки <algorithm> в ней есть еще перевод строки в верхний регистр, но эт уже на твой вкус..

короче переводишь слово в верхний/нижний регистр и делаешь чё надо..
0
1 / 1 / 0
Регистрация: 13.10.2009
Сообщений: 4
28.11.2009, 19:20  [ТС]
Где ссылка, прости?
0
║XLR8║
 Аватар для outoftime
1212 / 909 / 270
Регистрация: 25.07.2009
Сообщений: 4,360
Записей в блоге: 5
28.11.2009, 23:19
"lower_bound() c++" погугли, первая ссылка - то что ты ищешь))
также "algorithm c++"
1
Эксперт С++
 Аватар для niXman
3211 / 1459 / 74
Регистрация: 09.08.2009
Сообщений: 3,441
Записей в блоге: 2
28.11.2009, 23:43
Цитата Сообщение от outoftime Посмотреть сообщение
которая переводит строку в нижний регистр
C
1
2
3
char* strlower(char* str) {
   for (char *p = str; *p; p++) *p = tolower(*p);
}
0
║XLR8║
 Аватар для outoftime
1212 / 909 / 270
Регистрация: 25.07.2009
Сообщений: 4,360
Записей в блоге: 5
29.11.2009, 08:38
niXman, так ведь си++ нужно))
0
Эксперт С++
2924 / 1274 / 114
Регистрация: 27.05.2008
Сообщений: 3,465
29.11.2009, 11:34
1. Функция lower_bound() не имеет отношения к изменению или игнорированию регистра строки.
2. Почти правильной код привел niXman. Только еще нужно учесть, что функции tolower/toupper должны работать в зависимости от текущего языка строки, поэтому нужно еще установить локаль - setlocale(LC_xxx, "russian" или любую другую на выбор).
0
425 / 229 / 87
Регистрация: 25.03.2009
Сообщений: 744
29.11.2009, 12:13
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
#include <iostream>
#include <string>
#include <algorithm>
#include <functional>
 
struct compare : public std::binary_function<char,char,bool>
{
    bool operator() (const char a, const char b)
    {
        return toupper(a) == toupper(b);
    }
};
 
int main()
{
    std::string s1("This is a string");
    std::string s2("STRING");
 
    if (s1.size() == s2.size() && std::equal(s1.begin(),s1.end(),s2.begin(),compare()))
    {
        std::cout << "strings are equal" << std::endl;
    }
    else
    {
        std::cout << "the strings are not equal" << std::endl;
    }
    std::string::iterator iter = std::search(s1.begin(),s1.end(),s2.begin(),s2.end(),compare());
    if (iter == s1.end())
    {
        std::cout << "s2 is not substring of s1" << std::endl;
    }
    else
    {
        std::cout << "s2 is substring of s1" << std::endl;
    }
    return 0;
}
вот пример поиска и сравнения строк без учета регистра
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
29.11.2009, 12:13
Помогаю со студенческими работами здесь

Перевод строки в верхний регистр
Добрый вечер. Вопрос такой. Есть строка, как превести всё её содержание в верхнему регистру? Брать отдельно каждый символ,...

Строки в С++. Верхний и нижний регистр
char alphabet; int i; char letter; for(letter='A',i=0;letter&lt;='Z'; letter++,i++) alphabet=letter; alphabet=NULL;...

Перевести все символы строки в верхний регистр
имеется часть кода: string name; getline(cin, name); в введённой пользователем строке нужно повысить регистр всех символов,...

Как изменить регистр строки для переменной
Ситуация такая: Есть переменная типа string. Она содержит строку со словом, которое может быть написано в разном регистре. Как перевести...

Преобразовать регистр символов широкой строки wstring
int main() { _setmode(_fileno(stdout), _O_U16TEXT); _setmode(_fileno(stdin), _O_U16TEXT); _setmode(_fileno(stderr), _O_U16TEXT); ...


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

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Новые блоги и статьи
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора ВВЕДЕНИЕ Выполняя задание на управление насосной группой заполнения резервуара,. . .
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru