Documente Academic
Documente Profesional
Documente Cultură
3) strchr(sir,c) – returnează adresa primei apariţii a caracterului c în şir, sau 0 dacă nu există
caracterul c în şir.
Exemplu : Să se determine dacă un şir de caractere conţine cifre. În caz afirmativ să se afişeze cifrele
existente în şir.
#include<iostream.h>
#include<string.h>
char c,s[100];
int are=0;
void main()
{ cout<<"Introduceti un sir de caractere: "; cin.get(s,100);
for (c='0';c<='9';c++)
if (strchr(s,c)!=0)
{ are=1;
cout<<"Sirul contine cifra "<<c<<endl;
}
if (!are) cout<<"Sirul nu contine cifre";
}
4) strrchr(sir,c) – returnează adresa ultimei apariţii a caracterului c în şirul dat, sau 0 dacă nu
exista caracterul în şir.
Exemplu : Să se determine poziţia primei / ultimei apariţii a unui caracter într–un şir.
#include<iostream.h>
#include<string.h>
char c,s[100],*ult,*pr;
void main()
{ cout<<"Introduceti un sir de caractere: "; cin.get(s,100);
cin.get();
cout<<"Introduceti un caracter: "; c=cin.get();
pr=strchr(s,c); // adresa primei aparitii a lui c in s
ult=strrchr(s,c); // adresa ultimei aparitii a lui c in s
if (pr==0) cout<<"Caracterul nu este in sir"<<endl;
else
{ cout<<"Caracterul "<<c<<" are prima aparitie pe poz. "<<pr-s+1;
cout<<endl;
cout<<"Caracterul "<<c<<" are ultima aparitie pe poz. "<<ult-s+1;
cout<<endl;
}
}
s = adresa de început a şirului ( adresa unde este memorat primul
caracter din sir )
pr = adresa caracterului căutat
pr-s+1 = poziţia ( nr. de ordine ) al caracterului căutat în şir
5) strcpy(dest,sursa) – copiază şirul "sursa" în şirul "destinatie", inclusiv '\0' ( caracterul nul
).
5') strncpy(dest,sursa,n) – copiază cel mult n caractere din şirul sursă în şirul destinaţie;
completează şirul destinaţie cu '\0' dacă în sursă nu sunt n caractere la dispoziţie; dacă sunt n
carcactere de copiat nu se adaugă '\0'.
Exemplu : Să se copieze un şir în altul.
#include<iostream.h>
#include<string.h>
char s1[100],s2[100],s3[100],s4[100];
void main()
{ cout<<"Introduceti primul sir de caractere: "; cin.get(s1,100);
cin.get();
cout<<"Introduceti al 2-lea sir de caractere( sub 20 caractere ):";
cin.get(s2,100);
cout<<"Primul sir: "<<s1<<endl;
cout<<"Al doilea sir: "<<s2<<endl<<endl;
strcpy(s1,s2); // Copiaza s2 in s1
cout<<"Dupa copierea sirului 2 in sirul 1:";
cout<<"Primul sir: "<<s1<<endl;
cout<<"Al doilea sir: "<<s2<<endl<<endl;
6) strstr(sir1,sir2) – determină adresa primei apariţii a lui sir2 în sir1, sau 0 dacă sir2 nu
apare în sir1.
Exemplu : Să se determine numărul de apariţii ale unui şir în altul.
#include<iostream.h>
#include<string.h>
char s1[100],s2[100],*p;
int n;
void main()
{ cout<<"Introduceti un sir de caractere: "; cin.get(s1,100);
cin.get();
cout<<"Introduceti subsirul cautat: "; cin.get(s2,100);
p=strstr(s1,s2); // p este adresa de la care apare s2 in s1
while (p) // cat timp p<>0, subsirul s2 mai apare in sirul s1
{ n++;
strcpy(s1,p+1); // sterg din s1 toate caracterele, pana la primul
p=strstr(s1,s2); // caracter din s2, inclusiv acest caracter
}
cout<<"Sirul contine "<<n<<" aparitii ale subsirului"<<endl;
}
11) atof(sir) – converteşte şirul primit ca parametru într-un număr de tip double; rezultatul este
0 dacă şirul de convertit nu începe cu o cifră.
12) _atold(sir) – converteşte şirul primit ca parametru într-un număr de tip long double;
rezultatul este 0 dacă şirul de convertit nu începe cu o cifră.
13) atol(sir) – converteşte şirul primit ca parametru într-un număr de tip long; rezultatul este 0
dacă şirul de convertit nu începe cu o cifră.
14) itoa(valoare,sir,baza) – converteşte o valoare de tip int în şir ; valoarea baza reţine
baza de numeraţie către care să se facă conversia.
15) ltoa(valoare,sir,baza) – converteşte o valoare de tip long int în şir ; valoarea baza
reţine baza de numeraţie către care să se facă conversia.