Sunteți pe pagina 1din 3

1

IRURI DE CARACTERE
Funcii care lucreaz cu iruri de caractere (#include<string.h>)
1. Functia strlen.
Are rolul de a returna lungimea unui ir(fr a lua n considerare caracterul nul).
Forma general : strlen(nume sir);
Exemplu: Se citete un ir de caractere i se afieaz numrul de caractere a irului
#include<iostream.h>
#include<string.h>
void main()
{
char s1[100];
cin.get(s1,100);cin.get();
cout<<"Sirul citit are"<<" "<<strlen(s1)<<" "<<"caractere";,
}

2 Functia strcpy.
Forma general: strcpy(destinatie,sursa)
Funcia are rolul de a copia irul de la adresa sursa la adresa destinaie.
#include<iostream.h>
#include<string.h>
void main()
{
char s1[20]="Limbalul Turbo C++",s2[20]="Limbajul C++";
strcpy(s1,s2);
cout<<s1;
}

3. Functia strcat.
Forma general: strcat(destinaie,surs)
Funcia are rolul de a aduga irului de la adresa destinaie irul de la adresa surs.
#include<iostream.h>
#include<string.h>
void main()
{
char s1[20]="Limbajul Turbo C++",s2[20]=" si Limbajul C++";
strcat(s1,s2);
cout<<s1;
}

4. Functia strncat
Forma general: strncat(destinaie,surs,n)
Funcia adaug irului destinaie primii n octei ai irului surs
#include<iostream.h>
#include<string.h>
void main()
{
char s1[20]="Limbajul Turbo C++",s2[20]=" i Limbajul C++";
strncat(s1,s2,5);
cout<<s1;
}

2
5. Functia strchr
Forma general: strchr(nume ir, 'caracter' )
Functia cut n irul nume ir caracterul caracter i returneaz subirul care ncepe cu prima
apariie a caracterului citit
#include<iostream.h>
#include<string.h>
void main()
{
char s1[20]="Limbajul Turbo C++";
cout<<strchr(s1,'T');
}

6. Functia strrchr
Returneaz adresa ultimei apariii a caracterului cutat strrchr(ir, 'caracter' )
char s1[20]="Limbajul Turbo C++";
cout<<strrchr(s1,'u')-s1;

Returneaz valoarea 10

7. Functia strcmp
Forma general strcmp(sir1, sir2 )
Funcia are rolul de a compara 2 iruri de caractere i va returna valoarea:
< 0 dac sir1<sir2
= 0 dac sir1=sir2
> 0 dac sir1>sir2

Exemplu Se compar irul a cu irul b i se listeaz relaia dintre cele 2 iruri astfel:
- dac primele n caractere sunt identice se compar caracterele n+1
- dac caracterul n+1 al irului a este situat alfabetic naintea caracterului n+1 al irului b se afieaz a<b
- dac caracterul n+1 al irului a este situat alfabetic dup caracterul n+1 al irului b se afieaz a>b
- dac primul caracter al irului a este situat alfabetic naintea primului caracter al irului b se afieaz a<b
indiferent de lungimea celor 2 iruri
- dac primul caracter al irului a este situat alfabetic dup primul caracter al irului b se afieaz a>b
indiferent de lungimea celor 2 iruri
#include<iostream.h>

#include<string.h>
void main()
{
char a[20], b[20];
int semn;
cout<<"Introduceti sirul a: "; cin>>a;
cout<<"Introduceti sirul b: "; cin>>b;
semn=strcmp(a,b);
if(semn<0) cout<<"a < b";
else
if(semn>0) cout<<"a > b";
else cout<<"a = b";
}

3
8. Functiile strlwr i struwr
strlwr(s1) - convertete toate literele irului s1 n litere mici
struwr(s2) - convertete toate literele irului s2 n litere mari
#include<iostream.h>
#include<string.h>
void main()
{
char a[100]="este acesta un sir?", b[100]="Acest Lucru Nu Ma Deranjeaza";
cout<<strupr(a)<<endl<<strlwr(b);
}

9. Functia strstr
Forma general: strstr(sir1,sir2)
Funcia identific dac irul sir2 este subir al irului sir1
10. Functia strcspn
Forma general: strcspn(s1,s2)
Funcia returneaz numrul caracterelor din irul s1 care nu se gsesc n irul s2
11. Functia spn
Forma general: strspn(s1,s2)
Funcia returneaz numrul caracterelor din irul s1 care se gsesc n irul s2

12. FUNCTII UTILIZATE PENTRU CONVERSIA VALORILOR NUMERICE n SIR
La utilizarea acestor funcii se introduce directiva #include<stdlib.h>
a) Funcia atof - convertete un ir ctre tipul double
b) Funcia atold - convertete un ir ctre tipul long double
#include <stdlib.h>
#include <iostream.h>
void main()
{
float f;
char *str = "12345.67"; f = atof(str);
cout<<"string = "<<str<<endl<<"float = "<< f;
}

c) Funcia atoi - convertete un ir ctre tipul int
d) Funcia atol - convertete un ir ctre tipul long
Exemplu
#include <stdlib.h>
#include <iostream.h>
void main()
{
int n;
char *str = "12345.67"; n = atoi(str);
cout<<"string = "<<str<<endl<<"float = "<< n;
}

e) Funcia ecvt - convertete o valoare double ctre un sir
f) Funcia itoa - convertete o valoare de tip int ctre un sir
g) Funcia ltoa - convertete o valoare de tip long int ctre un sir

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