Functii pentru siruri de caractere.
Functiile care prelucreaza siruri de caractere executa operatii de : copiere, comparare, concatenare siruri,cautare subsiruri, inversare, conversie, determinare lungime, etc. Prototipuril 838d34i e acestor tipuri de functii se gasesc in fisierul antet string.h.
FUNCTIA strcat
Prototip: char *strcat ( const char * s, int c )
Efect: Cauta caracterul cu codul ASCII c in sirul s de la stinga la dreapta ( in directia inainte). Returneaza pointer la prima aparitie a caracterului c in sirul s sau in cazul cind c nu este gasit returneaza NULL.
Obs.: Caracterul '\0' care termina orice sir de caractere se considera ca face parte din sir, de aceea, apelul strchr (sirc, 0 ) este corect si returneaza pointer pe caracterul
'\0' al sirului sirc.
FUNCTIA strcmp
Prototip: int strcmp ( const char * s1, const char* s2 ) ;
Efect: Compara lexicografic sirurile s1 cu s2 . Comparatia se face de la inceputul sirurilor, caracter cu caracter cit timp cele doua caractere corespondente sunt egale si se opreste cind cele doua caracter sunt diferite sau s-a ajuns la sfârsitul cel putin al unui sir. Functia returneaza zero când sirurile sunt egale sau diferenta dintre ultimile doua caractere ( coduri ASCII ) comparate, deci o valoare negativa daca s1 este mai mic decât s2, respectiv o valoare negativa daca s1 este mai mare decit s2
FUNCTIA strcpy
Prototip: char*strcpy (char*dest, const char*sursa );
Efect: Copie sirul sursa in sirul dest. Operatia se termina dupa ce caracterul '\0' a fost mutat. Valoarea returnata este adresa de inceput a sirului dest.
FUNCTIA strdup
Prototip: char*strdup ( const char*s );
Efect: Copie sirul s intr-o locatie de memorie nou creata. Alocarea noului spatiu de memorie se face apelind functia molloc pentru strlen (s)+1 octeti.
Functia returneaza pointer la locatia de memorie ce contine sirul copiat.
FUNCTIA strerror
Prototip: char *strerror (int coderr );
Efect: Returneaza pointer la mesajul de eroare asociat cu codul de eroare : coderr. Mesajul de eroare este construit intr-un buffer static care este rescris la fiecare apel al functiei strerror.
Obs.: Pentru exactitatea erorii manipulate strerror trebuie sa fie apelata imediat dupa apelul de functie de biblioteca care a generat o eroare.
FUNCTIA stricmp
Prototip: int strcmp (const char*s1, const char*s2 );
Efect: Compara sirul s1 cu s2 fara sa faca deosebire intre majuscule si minuscule.
FUNCTIA strlen
Prototip: unsigned strlen ( const char *s );
Efect: Determina si returneaza lungimea sirului s. Nu numara caracterul '\0' care termina sirul.
FUNCTIA strlwv
Prototip: char *strlwr (char *s) ;
Efect: Converteste literele majuscule ale sirului s in litere minuscule. Nu face alte shimbari. Returneaza adresa de inceput a sirului s.
FUNCTIA strncmp
Prototip: int strncmp ( const char *s1, const char *s2, unsigned maxlen );
Efect: Acelasi lucru ca functia strcmp dar compara doar primele maxlen corectare.
FUNCTIA strnicmp
Prototip: int strnicmp ( const char*s1, const char*s2, unsigned maxlen ) ;
Efect: Acelasi efect ca functia strncmp dar nu se face diferenta intre majuscule si minuscule.
FUNCTIA strncpy
Prototip: char strncpy ( char *dest, const char *sursa, unsigned maxlen) ;
Efect: Copie exact maxlen caractere de la sursa in destinatie. Daca sursa<maxlen
atunci sfirsitul lui dest se umple cu zero. Daca lungimea sursei este mai mare sau egala cu maxlen atunci dest nu va fi terminat cu '\0'.
FUNCTIA strnset
Prototip: char *strnset ( char *s, char ch, unsigned n );
Efect: Seteaza exact primii n octeti ai sirului s la caracterul ch. Daca n > strlen (s) operatia se opreste la sfirsitul sirului.
FUNCTIA strrchr
Prototip: char *strrchr ( const char *s, int c );
Efect: Acelasi efect ca si strchr dar returneaza pointer la ultima aparitie a lui c in s.
FUNCTIA strrev
Prototip: char*strrev ( char * s );
Efect: Inverseaza sirul s, exceptind '\0'.
FUNCTIA strset
Prototip: char * strset ( char *s, int ch );
Efect: Seteaza toate caracterele sirului s la caracterul ch.
FUNCTIA strupr
Prototip: char* strupr ( char*s );
Efect: Converteste literele minuscule ale sirului s la litere majuscule. Returneaza adresa sirului s.
|