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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 26, средняя оценка - 4.69
Idea_fix
1 / 1 / 0
Регистрация: 13.10.2009
Сообщений: 4
#1

Регистр строки - C++

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

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

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

Огромное спасибо.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
28.11.2009, 18:46     Регистр строки
Посмотрите здесь:

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

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

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

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

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

Преобразование строки сначала в верхний регистр, потом в нижний - C++
Напишите программу, которая преобразовывает все символы введенной строки сначала в верхний регистр затем в нижний регистр а затем заменяет...

Все заглавные буквы строки нужно перевести в нижний регистр - C++
Нужно составить функцию, принимающую аргумент типа string и проводящую над ним некоторые действия: во-первых, все заглавные буквы нужно...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
outoftime
║XLR8║
508 / 430 / 33
Регистрация: 25.07.2009
Сообщений: 2,295
28.11.2009, 18:54     Регистр строки #2
на щет строки чаров не знаю, но есть для строки, вот короче ссылка на функцию, которая переводит строку в нижний регистр, справа там есть весь функционал библиотеки <algorithm> в ней есть еще перевод строки в верхний регистр, но эт уже на твой вкус..

короче переводишь слово в верхний/нижний регистр и делаешь чё надо..
Idea_fix
1 / 1 / 0
Регистрация: 13.10.2009
Сообщений: 4
28.11.2009, 19:20  [ТС]     Регистр строки #3
Где ссылка, прости?
outoftime
║XLR8║
508 / 430 / 33
Регистрация: 25.07.2009
Сообщений: 2,295
28.11.2009, 23:19     Регистр строки #4
"lower_bound() c++" погугли, первая ссылка - то что ты ищешь))
также "algorithm c++"
niXman
Эксперт C++
3134 / 1446 / 49
Регистрация: 09.08.2009
Сообщений: 3,441
Записей в блоге: 2
28.11.2009, 23:43     Регистр строки #5
Цитата Сообщение от outoftime Посмотреть сообщение
которая переводит строку в нижний регистр
C
1
2
3
char* strlower(char* str) {
   for (char *p = str; *p; p++) *p = tolower(*p);
}
outoftime
║XLR8║
508 / 430 / 33
Регистрация: 25.07.2009
Сообщений: 2,295
29.11.2009, 08:38     Регистр строки #6
niXman, так ведь си++ нужно))
CheshireCat
Эксперт С++
2892 / 1241 / 78
Регистрация: 27.05.2008
Сообщений: 3,364
29.11.2009, 11:34     Регистр строки #7
1. Функция lower_bound() не имеет отношения к изменению или игнорированию регистра строки.
2. Почти правильной код привел niXman. Только еще нужно учесть, что функции tolower/toupper должны работать в зависимости от текущего языка строки, поэтому нужно еще установить локаль - setlocale(LC_xxx, "russian" или любую другую на выбор).
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
29.11.2009, 12:13     Регистр строки
Еще ссылки по теме:

Из введенной строки удалить цифры и преобразовать буквы в другой регистр - C++
Вот условия задачи и мое решение, но оно не работает, что не так? подскажите, пожалуйста! /* 1. Напишите программу, которая читает...

Не учитывать регистр - C++
Надо чтобы программа считала текст из файла и подсчитала сколько раз встречаются разные буквы не учитывая регистра, т.е А=а б=Б. Я понимаю...

Регистр:Автозапуск - C++
Здравствуйте,я пишу программу ,которая должна выдавать сообщение при запуске Windows.Вроде написал,вроде все хорошо,но я столкнулся с такой...

Нижний регистр - C++
Помогите пожалуйста с заданием. Как правильно написать. А то мучалась, так ни чего не смогла сделать. Задание: Написать программу,...

В верхний регистр - C++
Привет всем. Подскажите как можно сделать чтобы при передаче в функцию строки ( word ) она изменяла первую букву каждого слова на...


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

Или воспользуйтесь поиском по форуму:
Андрейка
419 / 223 / 27
Регистрация: 25.03.2009
Сообщений: 744
29.11.2009, 12:13     Регистр строки #8
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;
}
вот пример поиска и сравнения строк без учета регистра
Yandex
Объявления
29.11.2009, 12:13     Регистр строки
Ответ Создать тему
Опции темы

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