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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 83, средняя оценка - 4.81
_Eldar_
44 / 29 / 3
Регистрация: 31.10.2009
Сообщений: 200
#1

Перевод символа в нижний регистр - C++

03.01.2010, 07:42. Просмотров 11938. Ответов 7
Метки нет (Все метки)

Привет всем)) у меня такой вопрос: почему функция tolower() возвращает не символ в нижнем регистре, а какие-то цифры (наверное код буквы). Заранее спасибо)

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
#include <iostream.h>
#include <windows.h>
#include <ctype.h>
 
int main(){
 
   SetConsoleCP(1251);
   SetConsoleOutputCP(1251);
 
   cout << "\n" << tolower('A');
 
   return 0;
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
03.01.2010, 07:42
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Перевод символа в нижний регистр (C++):

Перевод в нижний регистр - C++
Есть строка стринг в которой записана кириллица, нужно перевести ее в нижний регистр.

Перевод в нижний регистр - C++
Приветствую . Прошу помощи , выдаёт ошибку при переводе в нижний регистр , в чём проблема ? #include &lt;vector&gt; #include &lt;fstream&gt; ...

Перевод букв в нижний регистр - C++
Как перевести все буквы строки введенной с клавиатуры в нижний регистр?

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

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

Перевод символа в верхний регистр - C++
код символа , который я ввожу в командой строке, отличается от кода символа в переменной rlow #include &lt;iostream&gt; #include...

7
vet
175 / 175 / 13
Регистрация: 08.04.2009
Сообщений: 1,309
03.01.2010, 07:53 #2
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
#include <iostream.h>
#include <windows.h>
#include <ctype.h>
 
int main(){
 char str;
   SetConsoleCP(1251);
   SetConsoleOutputCP(1251);
 
 str= tolower('A');
 cout << str;
  cin.get();
}
0
_Eldar_
44 / 29 / 3
Регистрация: 31.10.2009
Сообщений: 200
03.01.2010, 08:02  [ТС] #3
а можно пояснение?)

Добавлено через 6 минут
что происходит, когда присваиваешь значение, которое вернула функция tolower переменной?
0
vet
175 / 175 / 13
Регистрация: 08.04.2009
Сообщений: 1,309
03.01.2010, 08:19 #4
ASCII код 97 ('a') а char хранит символьные значения и => когда tolower передает ему код ASCII тот преобразует его в соответсвуещие значение, так же можно написать так:
Код
putchar(tolower('A'));
где putchar запись в стд. поток stdout
1
_Eldar_
44 / 29 / 3
Регистрация: 31.10.2009
Сообщений: 200
03.01.2010, 08:23  [ТС] #5
спасибо)
0
bmw666
9 / 7 / 1
Регистрация: 25.12.2008
Сообщений: 40
03.01.2010, 08:24 #6
Только что опробовал функцию... все отлично работает и отображает символы в нижнем регистре... только надо формат символа возвращать в char как уже сказал vet
C++
1
2
3
4
5
6
7
8
#include <iostream.h>
#include <windows.h>
 
int main()
{
    cout << char(tolower('A'));
    cin.get();
}
0
_Eldar_
44 / 29 / 3
Регистрация: 31.10.2009
Сообщений: 200
03.01.2010, 09:40  [ТС] #7
не работает для русских букв((((
0
vet
175 / 175 / 13
Регистрация: 08.04.2009
Сообщений: 1,309
03.01.2010, 11:09 #8
Цитата Сообщение от _Eldar_ Посмотреть сообщение
не работает для русских букв((((
Вот так:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
#include <iostream.h>
#include <windows.h>
#include <ctype.h>
 
int main(){
 char str;
   SetConsoleCP(1251);
   SetConsoleOutputCP(1251);
 setlocale(LC_CTYPE,"Russian");
 str= tolower('П');
 cout << str;
  cin.get();
}
Но например у меня на Dev-C++ еще надо в св-вах компилятора шрифты поменять на Lucida Console
1
03.01.2010, 11:09
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
03.01.2010, 11:09
Привет! Вот еще темы с ответами:

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

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

Строку в нижний регистр - C++
вводится русская строка (слово ) кодировка 1251, необходимо привести ее к нижнему регистру #include &lt;ctype.h&gt; #include &lt;locale.h&gt; ...

Преобразование в нижний регистр - C++
Здравствуйте! Почему это не работает (результат неизменен): #include &lt;Windows.h&gt; #include &lt;stdio.h&gt; void...


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

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Опции темы

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