Sunteți pe pagina 1din 2

ŞIRURI DE CARACTERE ÎN C++

# include<cstring>
 Funcţia: cin.getline(vector_de_caractere, int nr, char=’\n’)
(citeşte un şir de caractere pana cand s-au citit nr-1 caractere sau pana cand a fost intalnit caracterul ’\n’)
 Funcţia: size_t strlen(char*)
(returneaza lungimea efectiva a unui sir, fara caracterul nul)
 Funcţia: char *strcpy(char *dest, char *sursa);
(copiaza sirul de adresa sursa la sirul de adresa destinatie)
 Funcţia: char *strcat(char *dest, char *sursa);
(concateneaza sirul de adresa sursa sirului de adresa destinatie)
 Funcţia: char *strncat(char *dest, char *sursa, size_t nr );
(concateneaza primii nr octeti ai sirului de adresa sursa sirului de adresa destinatie(adaugarea se face inaintea
caracterului nul))
 Funcţia: char *strchr(char *s, int c);
(cauta caracterul c in sirul s,returneaza pointer catre prima aparitie a caracterului c in s,sau 0 daca nu se gaseste)
 Funcţia: int strcmp( const char *s1, const char *s2);
(are rolul de a compara 2 siruri de caractere si returneaza <0 daca s1<s2,=0 daca s1=s2, >0 daca s1>s2)
 Funcţia: int stricmp( const char *s1, const char *s2);
(la fel cu strcmp dar nu face distinctie intre litere mari si mici)
 Funcţia: char strstr( const char *s1, const char *s2);
(are rolul de a identifica daca sirul *s2 este subsir al sirului *s1 si in caz afirmativ returneaza adresa de inceput in
cadrul sirului s1, altfel adresa nula (0))
 Funcţia: char *strtok(char *s1, const char *s2)
*Sirul s1 este alcatuit din 0,1,..,n entitati separate intre ele de caractere cu rol separator, iar sirul s2 ca fiind alcatuit din caracterele cu rol
separator; ex: s1:” mama, tata si bunicul”; s2: „ ,” (blank si virgula); *la apelul strtok(s1,s2) functia intoarce adresa primului caracter al
primei entitati(ex: „mama”) , separatorul fiind inlocuit prin caracterul nul(cod 0); *urmatoarele apeluri sunt de forma strtok(NULL,s2) iar
functia intoarce de fiecare data adresa primului caracter al entitatii si dupa ea adauga nul; …*cand sirul s1 nu mai are entitati functia
intoarce adresa nula.
 Funcţia: size_t strcspn(const char *s1, const char *s2)
(are rolul de a returna numarul de ordine al primului caracter din s1 care este identic cu un caracter din s2(prima lui apariție), fară ca tot
șirul s2 să fie subșir al lui s1 ex: strcspn(“abc73o”,”0123456789”)=3 (el. de pe pozitia 3(7) este primul caracter care se gaseste in al doilea
sir(„0123456789”))
 Funcţia: char *strlwr(char *s)
(converteste literele mari in litere mici)
 Funcţia: char *strupr(char *s)
(converteste literele mici in litere mari)
 Funcţia: char *strpbrk(char *s1, char *s2)
(cauta pe rand caracterele sirului s1 in sirul s2 si returneaza adresa sa din cadrul sirului s1; in caz de nereusita
returneaza adresa nula)
# include<cstdlib>
CONVERSII SIRURI IN VALORI NUMERICE SI INVERS
 Funcţia: double atof(const char *s)
(converteste un sir de caractere catre double )
 Funcţia: long double _atold(const char *s)
(converteste un sir de caractere catre long double )
 Funcţia: int atoi(const char *s)
(converteste un sir de caractere catre tipul int )
 Funcţia: long atol(const char *s)
(converteste un sir de caractere catre tipul long)
*****************************************
 Funcţia: char *ecvt(double valoare, int nr pozitii ocupate de
sir, int *zec(nr cif parte intreaga), int *semn(-1 negativ, 0 pozitiv))
(converteste o valoare de tip double catre un sir(pointer))
 Funcţia: char *itoa(int valoare, char *sir, int baza)
(converteste o valoare de tip int catre un sir)
 Funcţia: char *ltoa(long valoare, char *sir, int baza)
(converteste o valoare de tip long catre un sir)
 Funcţia: char *ultoa(long valoare, char *sir, int baza)
(unsigned long)
 Funcţia: long strtol(const char *s, char **endptr, int
baza)
(converteste un sir catre long, variabila char* primeste adresa
primului caracter care nu se poate converti)
 Funcţia: double strtod(const char *s, char **endptr)
(converteste un sir catre double)
 Funcţia: double _strtod(const char *s, char **endptr)
(converteste un sir catre long double)
 Funcţia: unsigned long strtoul(const char *s, char **endptr,
int baza)
(converteste un sir catre unsigned long)
EX pt ecvt str este valoarea rezultata
value str *decimal(zec) *sign(semn)
----- --- -------- -----
1.23456 "12346" 1 zero
-344.10 "34410" 3 non-zero
0.12345 "12345" 0 zero
0.06890 "68900" -1 zero

S-ar putea să vă placă și