Назва

toupper, tolower - обернути літери до верхнього або нижнього регістру

Стислий огляд

   **#include <ctype.h>**

   **int toupper(int** _c_**);**
   **int tolower(int** _c_**);**

Опис

toupper() обертає літеру c у верхній регістр, якщо можливо.

tolower() обертає літеру c у нижній регістр, якщо можливо.

Якщо c не є беззнаковим значенням char, поводження цих функцій буде невизначеним.

Повернені значення

Поверненим значенням буде обернений знак, або c, якщо перетворення не вдалося.

Відповідність стандартам

ANSI C, BSD 4.3

Вади

Подробиці, стосовно того, що вважається літерою верхнього регістру, а що нижнього, залежать від поточної локалі. Наприклад, стандартна локаль "C" не обізнана з умлаутом (двокрапкою над голосною літерою), тож перетворення не відбудеться.

У деяких неанглійських локалях існують літери нижнього регістру, що не мають відповідної літери верхнього; німецька загострена s є одним з прикладів.

Приклад

   #include <stdio.h>
   #include <ctype.h>
   #include <locale.h>

   int main()
   {
       int i;
       char words[] = "привіт, друже, як справи?..";

       setlocale(LC_ALL, "uk_UA.KOI8-U");

       for (i = 0; i < sizeof(words)/sizeof(words[0]); i++) {
               printf("%c", toupper(words[i]));
       }

       return 0;
   }

Дивіться також

?isalpha(3), ?setlocale(3), ?locale(7)