skanuj0156 (10)

skanuj0156 (10)



Rozdział 6. ♦ Ciągi znaków, data i czas 167

Rysunek 6.7.

Efekt działania przykładu ilustrującego zamianą kolejności argumentów funkcji printf

Mk Edycja Widok Przejdź Zakładki fjarzędzia Pomoc

- • ’ & ■<* tVj) |u http://localhost/index.php

-3

tśk* Rozpocznij przygód... i Aktualności

Liczba ma wartość 100, napis ma wartość abcd Napis ma wartość 100, liczba ma wartość 0 Napis ma wartość abcd, liczba ma wartość 100

zmieniać kolejności argumentów w funkcji printf, rozwiązaniem jest zmiana ich kolejności w ciągu formatującym. Taka zamiana została wykonana w ciągu format3, dzięki czemu funkcja pri ntf mogła zadziałać zgodnie z założeniami.

Porównywanie ciągów

Ciągi znaków mogą być porównywane zarówno za pomocą operatorów porównywania zaprezentowanych w tabeli 2.12 w rozdziale 2., jak i funkcji porównujących. Często wykorzystywaną funkcją jest strcmp, której wywołanie ma schematyczną postać: strcmp("ciągi", "ciąg?")

Funkcja ta zwraca wartość mniejszą od zera, jeśli ciągi jest mniejszy niż ciąg2\ wartość większą od zera, jeśli ciągi jest większy od ciąg2; lub wartość 0, jeśli ciągi są sobie równe. Porównywanie odbywa się według porządku leksykograficznego, czyli przykładowo:

♦    ciąg abcjest mniejszy niż abd

♦    ciągedf jest większy niż abc

♦    ciąg Abc jest większy niż abc

♦    ciąg abcjest mniejszy niż aBc

♦    ciąg 52 jest większy (!) niż 152

Funkcją podobną do strcmp jest strcasecmp. Działa ona w prawie identyczny sposób, lecz nie bierze pod uwagę wielkości liter.

Obie wymienione funkcje mają również swoje odmiany, które pozwalają na zdefiniowanie, ile znaków z pierwszego i drugiego ciągu będzie podlegało porównywaniu. Są to: strnonp i strncasecmp. Wywołanie strncmp (i analogicznie strncasecmp) ma schematyczną postać:

strncmp("ci391". "ciąg2". ile)

gdzie parametr ile określa liczbę porównywanych znaków. Zarówno strncmp, jak i strncasecmp zwraca wartość mniejszą od zera, jeśli ciągi jest mniejszy niż ciąg2-, wartość większą od zera, jeśli ciągi jest większy od ciąg2; lub wartość 0, jeśli ciągi są sobie równe.


Wyszukiwarka

Podobne podstrony:
skanuj0172 (10) Rozdział 6. ♦ Ciągi znaków, data i czas 183Funkcja strtotime Funkcja strtotime dokon
50198 skanuj0162 (10) Rozdział 6. ♦ Ciągi znaków, data i czas 173 Ostatnią z omawianych w tej sekcji
27587 skanuj0160 (10) Rozdział 6. ♦ Ciągi znaków, data i czas 171 od najczęściej wykorzystywanej fun
75292 skanuj0148 (11) Rozdział 6. ♦ Ciągi znaków, data i czas 159 gdy operator . — łączenie łańcuchó
11144 skanuj0166 (11) Rozdział 6. ♦ Ciągi znaków, data i czas 177 Listing 6.14, Przykładowe wywołani
54012 skanuj0158 (11) Rozdział 6. ♦ Ciągi znaków, data i czas 169Przeszukiwanie ciągów Podczas tworz
35406 skanuj0170 (13) Rozdział 6. ♦ Ciągi znaków, data i czas 181Funkcja strftime Funkcja strftime z
88107 skanuj0154 (11) Rozdział 6. ♦ Ciągi znaków, data i czas 165 np.: pr1ntf( T_-3d”. 15): Bardzo u
27526 skanuj0168 (11) Rozdział 6. ♦ Ciągi znaków, data i czas 179 Listing 6.16. Ilustracja różnic mi

więcej podobnych podstron