C/tolower
Z Wikibooks, biblioteki wolnych podręczników.
Spis treści |
[edytuj] Deklaracja
#include <ctype.h> int tolower(int c); int toupper(int c);
[edytuj] Opis
Funkcja tolower (toupper) sprawdza, czy dany znak znajduje się w zadanym przez locale zestawie dużych (małych) liter i jeśli tak przekształca go do odpowiedniej małej (dużej) litery o ile takowa istnieje.
[edytuj] Argumenty
- c
- wartość znaku reprezentowana jako typ unsigned char lub wartość makra EOF. Z tego powodu, przed przekazaniem funkcji argumentu typu char lub signed char należy go zrzutować na typ unsigned char lub unsigned int.
[edytuj] Wartość zwracana
Jeżeli nastąpiła konwersja funkcje zwracają wartość odpowiadającego znaku (zawsze taką samą dla tego samego znaku w danych ustawieniach locale'i) w przeciwnym wypadku zwracają wartość niezmienioną.
[edytuj] Przykład użycia
#include <ctype.h> /* dla funkcji toupper i tolower */ #include <locale.h> /* dla funkcji setlocale */ #include <stdio.h> char *strtolower(char *dest, const char *src, size_t n) { if (!n) { return 0; } else { char *d = dest; while (*src && --n>0) *d++ = tolower(*src++); *d = 0; return dest; } } char *strtoupper(char *dest, const char *src, size_t n) { if (!n) { return 0; } else { char *d = dest; while (*src && --n>0) *d++ = toupper(*src++); *d = 0; return dest; } } int main(void) { const char str[] = "Mąka Ćma"; char buf[sizeof str]; puts(strtolower(buf, str, sizeof buf)); puts(strtoupper(buf, str, sizeof buf)); setlocale(LC_ALL, "pl_PL"); /* przystosowanie do warunków polskich */ puts(strtolower(buf, str, sizeof buf)); puts(strtoupper(buf, str, sizeof buf)); return 0; }
Powyższy program drukuje:
mąka Ćma MąKA ĆMA mąka ćma MĄKA ĆMA