Kurs programowania w C cz. 121

Nasza ocena:

5
Wyświetleń: 532
Komentarze: 0
Notatek.pl

Pobierz ten dokument za darmo

Podgląd dokumentu
Kurs programowania w C cz. 121 - strona 1

Fragment notatki:

138 ROZDZIAŁ 18. NAPISY while ((znak = getchar())!=EOF) { if( islower(znak) ) { znak = toupper(znak); } else if( isupper](znak) ) { znak = tolower(znak); } putchar(znak); } return 0; } Program ten zmienia we wczytywanym tekście wielkie litery na małe i odwrotnie. Wyko- rzystujemy funkcje operujące na znakach z pliku nagłówkowego  ctype.h.  isupper sprawdza, czy znak jest wielką literą, natomiast toupper zmienia znak (o ile jest literą) na wielką literę. Analogicznie jest dla funkcji islower i tolower. Jako ćwiczenie, możesz tak zmodyfikować program, żeby odczytywał dane z pliku poda- nego jako argument lub wprowadzonego z klawiatury. Częste błędy • pisanie do niezaalokowanego miejsca char *tekst; scanf("%s", tekst); • zapominanie o kończącym napis nullu char test[4] = "test"; /* nie zmieścił się null kończący napis */ • nieprawidłowe porównywanie łańcuchów char tekst1[] = "jakis tekst"; char tekst2[] = "jakis tekst"; if( tekst1 == tekst2 ) { /* tu zawsze będzie fałsz bo == porównuje adresy, należy użyć strcmp() */ ... } Unicode Zobacz w Wikipedii:  Uni- code W dzisiejszych czasach brak obsługi wielu języków praktycznie marginalizowałoby język. Dlatego też C99 wprowadza możliwość zapisu znaków wg norm Unicode. Jaki typ? Do przechowywania znaków zakodowanych w Unicode powinno się korzystać z typu wchar t . Jego domyślny rozmiar jest zależny od użytego kompilatora, lecz w większości zaktualizowanych kompilatorów powinny to być 2 bajty. Typ ten jest częścią języka C++, natomiast w C znajduje się w pliku nagłówkowym  stddef.h. Alternatywą jest wykorzystanie gotowych bibliotek dla Unicode (większość jest dostęp- nych jedynie dla C++, nie współpracuje z C), które często mają zdefiniowane własne typy, jednak zmuszeni jesteśmy wtedy do przejścia ze znanych nam już funkcji jak np. strcpy, strcmp na funkcje dostarczane przez bibliotekę, co jest dość niewygodne. My zajmiemy się pierwszym wyjściem. ... zobacz całą notatkę



Komentarze użytkowników (0)

Zaloguj się, aby dodać komentarz