Prezentace se nahrává, počkejte prosím

Prezentace se nahrává, počkejte prosím

Řetězce (24) Funkce strchr: deklarována v: string.h

Podobné prezentace


Prezentace na téma: "Řetězce (24) Funkce strchr: deklarována v: string.h"— Transkript prezentace:

1 Řetězce (24) Funkce strchr: deklarována v: string.h
prototyp: char *strchr(const char *str, int c); funkce: hledá první výskyt znaku c (převedeného na typ char) v řetězci str vrácená hodnota hodnota: ukazatel na nalezený znak jestliže se znak c v řetězci str nevyskytuje, pak funkce vrací hodnotu NULL 12/06/2018

2 Řetězce (25) Funkce strrchr: deklarována v: string.h
prototyp: char *strrchr(const char *str, int c); funkce: hledá poslední výskyt znaku c (převedeného na typ char) v řetězci str vrácená hodnota hodnota: ukazatel na nalezený znak jestliže se znak c v řetězci str nevyskytuje, pak funkce vrací hodnotu NULL 12/06/2018

3 Řetězce (26) Funkce strstr: deklarována v: string.h
prototyp: char *strstr(const char *str, const char *substr); funkce: hledá první výskyt podřetězce substr v řetězci str vrácená hodnota hodnota: ukazatel na začátek prvního výskytu podřetězce substr v řetězci str jestliže se řetězec substr v řetězci str nevyskytuje, pak funkce vrací hodnotu NULL 12/06/2018

4 Řetězce (27) Funkce strtod: deklarována v: stdlib.h
prototyp: double strtod(const char *str, char **ptr); funkce: převádí počáteční část řetězce str na číselnou hodnotu typu double funkce strtod očekává, že převáděné číslo se skládá z následujících částí: případné prázdné znaky (např. mezery), které funkce strtod přeskočí případné znaménko plus nebo mínus (+ nebo –) 12/06/2018

5 Řetězce (28) vrácená hodnota hodnota: v případě úspěšného převodu:
posloupnost desítkových číslic, která může obsahovat jeden oddělovač desetinné části (typicky desetinná tečka) případná exponentová část, která se skládá z písmene e nebo E, případného znaménka a posloupnosti desítkových číslic vrácená hodnota hodnota: v případě úspěšného převodu: vrací převedenou číselnou hodnotu (typu double) jestliže parametr ptr nemá v době volaní hodnotu NULL, pak je funkcí nastaven tak, aby ukazoval na první znak v str, kte-rý bezprostředně následuje za převedenou částí řetězce v případě, kdy řetězec není možné převést (jeho začátek neodpovídá očekávanému číselnému modelu): vrací hodnotu 0 proměnná errno se nastaví na hodnotu ERANGE jestliže parametr ptr nemá hodnotu NULL, pak funkce nastaví *ptr na hodnotu str 12/06/2018

6 Řetězce (29) Funkce strtol: deklarována v: stdlib.h
prototyp: long int strtol(const char *str, char **ptr, int base); funkce: převádí počáteční část řetězce str na číselnou hodnotu typu long int funkce strtol očekává, že převáděné číslo se skládá z následujících částí: případné prázdné znaky (např. mezery), které funkce strtol přeskočí 12/06/2018

7 Řetězce (30) vrácená hodnota hodnota:
případné znaménko plus nebo mínus (+ nebo –) posloupnost číslic v číselné soustavě o základu base je-li base=0, pak se předpokládá soustava: desítková – číslo musí začínat nenulovou desítkovou číslicí osmičková – číslo musí začínat nulou šestnáctková – číslo musí začínat 0x nebo 0X má-li base hodnotu v rozmezí 2 až 36, pak: se očekává, že řetězec str obsahuje číslice dané soustavy při base=16 není nutné, aby číslo začínalo 0x nebo 0X vrácená hodnota hodnota: v případě úspěšného převodu: vrací převedenou číselnou hodnotu (typu long int) jestliže parametr ptr nemá v době volaní hodnotu NULL, pak je funkcí nastaven tak, aby ukazoval na první znak v str, kte-rý bezprostředně následuje za převedenou částí řetězce 12/06/2018

8 Řetězce (31) Funkce strtoul: deklarována v: stdlib.h
v případě, kdy řetězec není možné převést (jeho začátek neodpovídá očekávanému číselnému modelu): vrací hodnotu 0 proměnná errno se nastaví na hodnotu ERANGE jestliže parametr ptr nemá hodnotu NULL, pak funkce nastaví *ptr na hodnotu str Funkce strtoul: deklarována v: stdlib.h prototyp: unsigned long int strtoul (const char *str, char **ptr, int base); 12/06/2018

9 Řetězce (32) Funkce sprintf: funkce: deklarována v: stdio.h
pracuje podobně jako funkce strtol počáteční část řetězce specifikovaného parametrem str je převáděna na hodnotu typu unsigned long int Funkce sprintf: deklarována v: stdio.h prototyp: int sprintf(char *str, const char *format,…); pracuje podobně jako funkce printf 12/06/2018

10 Řetězce (33) pro parametr format platí stejná pravidla jako u fun-kce printf posloupnost dat specifikovaná parametrem format není vypisována na standardní výstup, ale je ukládána do řetězce str řetězec str je automaticky ukončen znakem ’\0’ je zapotřebí, aby pro řetězec str bylo vymezeno do-statečně velké paměťové místo (v opačném případě dojde k přepisování nepřidělené paměti) poznámka: funkci sprintf lze využít např. pro převod číselné hodnoty na řetězec 12/06/2018

11 Řetězce (34) Funkce sscanf: deklarována v: stdio.h
prototyp: int sscanf(char *str, const char *format,…); funkce: pracuje podobně jako funkce scanf pro parametr format platí stejná pravidla jako u fun-kce scanf znaky nejsou načítány ze standardního vstupu, ale z ře-tězce str 12/06/2018


Stáhnout ppt "Řetězce (24) Funkce strchr: deklarována v: string.h"

Podobné prezentace


Reklamy Google