Sunteți pe pagina 1din 2

SIRURI DE CARACTERE IN C++

Definirea sirurilor de
caractere
o ca tablou de caractere; exemple:
 char sir1[30];
 char sir2[10]="exemplu";
o ca pointer la caractere; exemple:
 char *sir3;
 sir3=sir1; // sir3 ia adresa unui sir static
 char *sir4="test";

O constanta sir de caractere se reprezinta intre ghilimele.


Ultimul caracter din sir este caracterul nul ('\0'

Functii de prelucrare a
sirurilor
 declarate in stdio.h

o char * gets(char * s);


citeste caracterele din intrare pana la intalnirea caracterului Enter, care nu se
adauga la sirul s; plaseaza '\0' la sfarsitul lui s; returneaza adresa primului
caracter din sir;
o int puts(char * s);
tipareste sirul s, trece apoi la rand nou
o cin>>s;
citeste caracterele din intrare pana la intalnirea primului blanc sau Enter, care nu
se adauga la sirul s; plaseaza '\0' la sfarsitul lui s;
o cout<<s; tipareste sirul s

 declarate in string.h

o int strcmp(char *s1,char *s2);


returneaza <0, daca s1 < s2

         0, daca s1 = s2
       >0, daca s1 > s2

o int strncmp(char *s1,char *s2,int n);


comparare a doua siruri pe lungimea n
o char* strcpy(char *d,char *s);- copiaza sirul sursa s in sirul destinatie d;
returneaza  adresa sirului destinatie
o char* strncpy(char *d,char *s,int n); - copiaza maxim n caractere de la sursa la
destinatie; returneaza adresa sirului destinatie
o int strlen(char *s); - returneaza lungimea sirului fara a numara caracterul
terminator
o char* strcat(char *d,char *s); - concateneaza cele doua siruri si returneaza
adresa sirului rezultat
o char* strchr(char s,char c); - returneaza pozitia primei aparitii a caracterului c in
sirul s, respectiv NULL daca c nu e in s
o char* strstr(char *s,char *ss); - returneaza pozitia primei aparitii a sirului ss in
sirul s, respectiv NULL daca ss nu e in s.
FUNCTII UTILIZATE PENTRU CONVERSIA VALORILOR NUMERICE IN SIR

La utilizarea acestor functii se introduce directiva #include<stdlib.h>


a) Functia atof - converteste un sir catre tipul double
b) Functia atold - converteste un sir catre tipul long double
Exemplu:
#include <stdlib.h>
#include <iostream.h>
#include<conio.h>
void main() {
float f;
char *str = "12345.67";
f = atof(str);
cout<<"string = "<<str<<endl<<"float = "<< f;
getch(); }
c) Functia atoi - converteste un sir catre tipul int
d) Functia atol - converteste un sir catre tipul long
Exemplu:
#include <stdlib.h>
#include <iostream.h>
#include<conio.h>
void main()
{
int n;
char *str = "12345.67";
n = atoi(str);
cout<<"string = "<<str<<endl<<"float = "<< n;
getch();
}

e) Functia ecvt - converteste o valoare dubla catre un sir

f) Functia itoa - converteste o valoare de tip intreg catre un sir

g) Functia ltoa - converteste o valoare de tip long int catre un sir

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