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

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

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 108, средняя оценка - 4.88
Syltan
181 / 7 / 0
Регистрация: 27.08.2009
Сообщений: 868
#1

Функции tolower,islower,isupper - C++

06.09.2009, 00:03. Просмотров 13849. Ответов 35
Метки нет (Все метки)

Если кто знаком с функциями tolower,islower,isupper, дайте пожалуйста с каждой примитивный пример с маленьким коментом, как их использовать. Зараннее благодарю. ПО книге не понимаю.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
06.09.2009, 00:03     Функции tolower,islower,isupper
Посмотрите здесь:

не работает функция isupper() C++
C++ функция tolower()
Как реализовать tolower()? C++
помогите с islower() и setfill() C++
Ошибка с islower C++
Функция islower() C++
Функция islower() C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Gravity
558 / 552 / 39
Регистрация: 29.01.2009
Сообщений: 1,274
06.09.2009, 00:04     Функции tolower,islower,isupper #2
Посмотри здесь http://www.cplusplus.com/reference/clibrary/cctype/
Syltan
181 / 7 / 0
Регистрация: 27.08.2009
Сообщений: 868
06.09.2009, 00:10  [ТС]     Функции tolower,islower,isupper #3
Я просил вообще маленький примитивный примерчик по каждой функции с коментом своими словами(не книжными), а не ссылка на англ. сайт. Спасибо Gravity,но мне эта ссылка ничем не помогла.
Rififi
2336 / 1051 / 44
Регистрация: 03.05.2009
Сообщений: 2,656
06.09.2009, 00:19     Функции tolower,islower,isupper #4
http://msdn.microsoft.com/en-us/libr...14(VS.80).aspx
пример найдешь там же.
Syltan
181 / 7 / 0
Регистрация: 27.08.2009
Сообщений: 868
06.09.2009, 00:22  [ТС]     Функции tolower,islower,isupper #5
У меня на компьютере не работает майкрософстский сайт, уже много раз пробывал,скорей всего вирус. Кто-нибудь может расказать по 2 предложения про каждую функцию, по 2 строки кода своими словами?
easybudda
Эксперт С++
9440 / 5463 / 925
Регистрация: 25.07.2009
Сообщений: 10,484
06.09.2009, 00:25     Функции tolower,islower,isupper #6
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include <stdio.h>
#include <ctype.h>
 
/* tolower toupper isupper */
 
int main(){
    char c = 'a';
    
    c = toupper(c);
    printf("Char %c is %s\n", c, (isupper(c)) ? "big" : "small");
    c = tolower(c);
    printf("Char %c is %s\n", c, (isupper(c)) ? "big" : "small");
    return(0);
}
Скомпилируйте, запустите...
Syltan
181 / 7 / 0
Регистрация: 27.08.2009
Сообщений: 868
06.09.2009, 00:33  [ТС]     Функции tolower,islower,isupper #7
Вот так запустилось, ну и чё, я так ничего и не понял зачем эти функции и что они делают.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include <iostream>
#include <cctype>
using namespace std;
 
/* tolower toupper isupper */
 
int main(){
        char c = 'a';
        
        c = toupper(c);
        printf("Char %c is %s\n", c, (isupper(c)) ? "big" : "small");
        c = tolower(c);
        printf("Char %c is %s\n", c, (isupper(c)) ? "big" : "small");
        
        cin.get();
}
easybudda
Эксперт С++
9440 / 5463 / 925
Регистрация: 25.07.2009
Сообщений: 10,484
06.09.2009, 00:44     Функции tolower,islower,isupper #8
Цитата Сообщение от Syltan Посмотреть сообщение
Вот так запустилось, ну и чё, я так ничего и не понял зачем эти функции и что они делают.
Даже и не знаю, куда нагляднее...
toupper возвращает букву в верхнем регистре, tolower - в нижнем, а isupper возвращает true, если буква в верхнем регистре...
M128K145
Эксперт С++
8282 / 3501 / 143
Регистрация: 03.07.2009
Сообщений: 10,707
06.09.2009, 00:55     Функции tolower,islower,isupper #9
tolower (прагма в помощь, to lower - для понижения) - следовательно функция которая преобразовывает все символы в строке в нижний регистр
toupper - обратная к tolower.
isupper (прагма в помощь, is upper - верхний) - проверка является ли текущий символ символом верхнего регистра или нет. Возвращает true если ответ положительный, false иначе.
islower - обратная к isupper
easybudda привел пример их использования. Пример очень толковый в котором все предельно просто
alex_x_x
06.09.2009, 00:58
  #10

Не по теме:

ппц, чет не понимаю, куда кнопка фу то делась

odip
Эксперт С++
7155 / 3295 / 59
Регистрация: 17.06.2009
Сообщений: 14,164
06.09.2009, 14:53     Функции tolower,islower,isupper #11
А кому ты хотел Фу сказать ?
alex_x_x
06.09.2009, 15:02
  #12

Не по теме:

Цитата Сообщение от Syltan Посмотреть сообщение
Я просил вообще маленький примитивный примерчик по каждой функции с коментом своими словами(не книжными), а не ссылка на англ. сайт. Спасибо Gravity,но мне эта ссылка ничем не помогла.
Цитата Сообщение от Syltan Посмотреть сообщение
У меня на компьютере не работает майкрософстский сайт, уже много раз пробывал,скорей всего вирус. Кто-нибудь может расказать по 2 предложения про каждую функцию, по 2 строки кода своими словами?

Syltan
181 / 7 / 0
Регистрация: 27.08.2009
Сообщений: 868
07.09.2009, 15:26  [ТС]     Функции tolower,islower,isupper #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
#include <iostream>
#include <ctype.h>
using namespace std;
 
int main()
{
setlocale(0,"");
char *p;
int i;
char str[80] = "Сникерс Настоящий";
p = str;
for(i = 0; p[i]; i++) {
if(isupper(p[i]))
p[i] = tolower(p[i]);
else
if(islower(p[i]))
p[i] = toupper(p[i]);
}
 
 
cout<<"Результат\n"<<str;
cin.get();
}
Дело в том,что в результате, программа должна выдать результат:
сНИКЕРС нАСТОЯЩИЙ, а программа выводит: сНИКЕРС нАСТОяЩИЙ
НЕ знаю почему.
kirill29
2051 / 1214 / 55
Регистрация: 01.02.2009
Сообщений: 2,842
07.09.2009, 15:47     Функции tolower,islower,isupper #14
А если попробовать другое словосочетание, где есть буква "я";
ИМХО у меня на C# все работает.
odip
Эксперт С++
7155 / 3295 / 59
Регистрация: 17.06.2009
Сообщений: 14,164
07.09.2009, 18:06     Функции tolower,islower,isupper #15
В кодировке CP1251 набрать:
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
#include <iostream>
#include <ctype.h>
 
using namespace std;
 
int main( void ) {
 
int i;
unsigned char buf[100];
 
 
setlocale( LC_ALL, "" );
 
strcpy( (char*)buf, "Сникерс Настоящий" );
for ( i= 0; buf[i]!='\0'; i++ ) {
    if ( isupper( buf[i] ) ) {
        buf[i]= tolower( buf[i] );
    } else if ( islower( buf[i] ) ) {
        buf[i]= toupper( buf[i] );
    }
}
 
cout <<"Result\n" <<buf <<"\n";
return 0;
 
}
В консоли:
chcp 1251
Сменить шрифт на "Lucida Console"
Миниатюры
Функции tolower,islower,isupper  
Syltan
181 / 7 / 0
Регистрация: 27.08.2009
Сообщений: 868
07.09.2009, 19:57  [ТС]     Функции tolower,islower,isupper #16
Спасибо большое, оказывается необходимо нужно было набрать строку,
setlocale( LC_ALL, "" );
odip
Эксперт С++
7155 / 3295 / 59
Регистрация: 17.06.2009
Сообщений: 14,164
07.09.2009, 20:08     Функции tolower,islower,isupper #17
Возможно еще unsinged char buf[] помог
Syltan
181 / 7 / 0
Регистрация: 27.08.2009
Сообщений: 868
07.09.2009, 21:08  [ТС]     Функции tolower,islower,isupper #18
А, нет char buf[] всё-таки.

Добавлено через 4 минуты
Вы не скажите,что означает (char*)buf
из строки:
C++
1
strcpy( (char*)buf, "Сникерс Настоящий" );
odip
Эксперт С++
7155 / 3295 / 59
Регистрация: 17.06.2009
Сообщений: 14,164
07.09.2009, 21:20     Функции tolower,islower,isupper #19
g++ выдал warning на разные типы
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
07.09.2009, 21:24     Функции tolower,islower,isupper
Еще ссылки по теме:

C++ toupper, tolower, strlen и кириллица
C++ Tolower для русских букв
C++ Заменить функцию tolower на ручную функцию
C++ Найти первые вхождения символов (функции strchr(), tolower())
Функция islower C++

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

Или воспользуйтесь поиском по форуму:
Syltan
181 / 7 / 0
Регистрация: 27.08.2009
Сообщений: 868
07.09.2009, 21:24  [ТС]     Функции tolower,islower,isupper #20
Я вообще спросил про вот это,чо оно такое:
C++
1
(char*)buf
Yandex
Объявления
07.09.2009, 21:24     Функции tolower,islower,isupper
Ответ Создать тему
Опции темы

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