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

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

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 83, средняя оценка - 4.81
_Eldar_
 Аватар для _Eldar_
44 / 29 / 3
Регистрация: 31.10.2009
Сообщений: 200
03.01.2010, 07:42     Перевод символа в нижний регистр #1
Привет всем)) у меня такой вопрос: почему функция 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;
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
vet
 Аватар для 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();
}
_Eldar_
 Аватар для _Eldar_
44 / 29 / 3
Регистрация: 31.10.2009
Сообщений: 200
03.01.2010, 08:02  [ТС]     Перевод символа в нижний регистр #3
а можно пояснение?)

Добавлено через 6 минут
что происходит, когда присваиваешь значение, которое вернула функция tolower переменной?
vet
 Аватар для 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
_Eldar_
 Аватар для _Eldar_
44 / 29 / 3
Регистрация: 31.10.2009
Сообщений: 200
03.01.2010, 08:23  [ТС]     Перевод символа в нижний регистр #5
спасибо)
bmw666
 Аватар для 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();
}
_Eldar_
 Аватар для _Eldar_
44 / 29 / 3
Регистрация: 31.10.2009
Сообщений: 200
03.01.2010, 09:40  [ТС]     Перевод символа в нижний регистр #7
не работает для русских букв((((
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
03.01.2010, 11:09     Перевод символа в нижний регистр
Еще ссылки по теме:

C++ Верхний и нижний регистр
Кроссплатформенный перевод русских букв в верхний/нижний регистр C++
C++ Перевод в нижний регистр

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

Или воспользуйтесь поиском по форуму:
vet
 Аватар для 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
Yandex
Объявления
03.01.2010, 11:09     Перевод символа в нижний регистр
Ответ Создать тему
Опции темы

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