ȘIRURI DE CARACTERE
Funcţii care lucrează cu șiruri de caractere (#include<string.h>)
1. Functia strlen.
Are rolul de a returna lungimea unui şir(fără a lua în considerare caracterul
nul). Forma generală : strlen(nume sir);
Exemplu: Se citește un şir de caractere şi se
afișează numărul de caractere a șirului
#include<iostream.h>
#include<string.h>
int main()
{
char s1[100];
cout<<”tasteaza
o fraza: ”;
cin.get(s1,100);
cin.get();
cout<<"Sirul citit este
: "<<s1<<" si are "<<strlen(s1)<<"caractere";
}
2 Functia strcpy.
Forma generală: strcpy(destinatie,sursa)
Funcția are rolul de a copia
(inlocuieste ) șirul de la adresa sursa la adresa destinație.
#include
<iostream>
#include<string.h>
using namespace
std;
int main()
{
char s1[100],s2[100]; //se declara doua siruri
cout<<"tasteaza o fraza:
"; //
cin.get(s1,100); //
cin.get(); //
s-a citit un sir
cout<<"tasteaza o alta fraza :
";
cin.get(s2,100);
cin.get();
strcpy(s1,s2);
cout<<s1;
return 0;
}
3. Functia strcat.
Forma generală: strcat(destinație,sursă)
Funcţia are rolul de a adăuga șirului de la adresa destinație șirul de la adresa sursă.
#include <iostream>
#include<string.h>
using namespace std;
int main()
{
char s1[100],s2[100];
cout<<"tasteaza o fraza: ";
cin.get(s1,100);
cin.get();
cout<<"tasteaza o alta fraza
: ";
cin.get(s2,100);
cin.get();
strcat(s1,s2);
cout<<s1;
return
0;
}
4. Functia
strncat
Forma generală: strncat(destinație,sursă,n)
Funcția adaugă șirului destinație primii n octeți ai șirului sursă
#include <iostream>
#include<string.h>
using namespace std;
int main()
{
char s1[100],s2[100];
cout<<"tasteaza o
fraza: ";
cin.get(s1,100);
cin.get();
cout<<"tasteaza o
alta fraza : ";
cin.get(s2,100);
cin.get();
strncat(s1,s2,5);
cout<<s1;
return 0;
}
5. Functia strchr
Forma generală: strchr(nume şir, 'caracter'
)
Functia căută în șirul nume şir caracterul caracter şi
returnează subșirul care începe cu prima
apariție a caracterului citit
#include <iostream>
#include<string.h>
using namespace std;
int main()
{
char
s1[100],s2[100];
cout<<"tasteaza o fraza: ";
cin.get(s1,100);
cin.get();
cout<<strchr(s1,'t');
cout<<s1;
return 0;
}
6. Functia strrchr
Returnează adresa ultimei apariții a caracterului căutat strrchr(şir, 'caracter' )
#include
<iostream>
#include<string.h>
using namespace std;
int main()
{
char s1[100],s2[100];
cout<<"tasteaza
o fraza: ";
cin.get(s1,100);
cin.get();
cout<<strrchr(s1,'u')-s1; returneaza nr octetului unde se afla
caracterul ‘ u’
return 0;
}
7. Functia strcmp
Forma generală
strcmp(sir1, sir2 )
Funcția 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ă relația 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 afișează a<b
- dacă caracterul n+1
al șirului a este situat alfabetic după caracterul n+1 al șirului b
se afișează a>b
- dacă primul
caracter al șirului a este situat alfabetic înaintea primului caracter al șirului b se
afișează a<b
indiferent de lungimea celor 2 șiruri
- dacă primul caracter al șirului a este
situat alfabetic după primul caracter al șirului b se
afișează a>b
indiferent de lungimea celor 2 șiruri
#include <iostream>
#include<string.h>
using namespace std;
int main()
{
char
s1[100],s2[100];
cout<<"tasteaza o fraza: ";
cin.get(s1,100);
cin.get();
cout<<"tasteaza o fraza: ";
cin.get(s2,100);
cin.get();
int semn;
semn=strcmp(s1,s2);
if(semn<0) cout<<"s1 < s2";
else
if(semn>0) cout<<"s1 > s2";
else cout<<"s1= s2";
return 0;
}
8. Functiile strlwr
ş i
struwr
strlwr(s1) - convertește toate literele șirului s1 în litere mici
struwr(s2)
- convertește toate literele șirului s2 în litere mari
#include
<iostream>
#include<string.h>
#include <stdio.h>
using
namespace std;
int
main()
{
char s1[100],s2[100];
cout<<"tasteaza
o fraza: ";
cin.get(s1,100);
cin.get();
cout<<"tasteaza
o fraza: ";
cin.get(s2,100);
cin.get();
cout<<strupr(s1)<<endl<<strlwr(s2);
return 0;
}
9. Functia strstr
Forma generală: strstr(sir1,sir2)
Funcția identifică dacă șirul sir2 este subșir al șirului sir1
#include
<iostream>
#include<string.h>
#include
<stdio.h>
using namespace
std;
int main()
{
char *a;
char s1[100],s2[100];
cout<<"tasteaza
o fraza: ";
cin.get(s1,100);
cin.get();
cout<<"tasteaza
o fraza: ";
cin.get(s2,100);
cin.get();
a=strstr(s1,s2); //returneaza subsirul s2 din s1
puts(a); //afiseaza de la subsirul gasit
return 0;
}
10. Functia strcspn
Forma generală: strcspn(s1,s2)
Funcția returnează numărul
caracterelor din șirul s1 care nu se găsesc în șirul s2
#include <iostream>
#include<string.h>
using namespace std;
int main()
{
int a;
char s1[100],s2[100];
cout<<"tasteaza o
fraza: ";
cin.get(s1,100);
cin.get();
cout<<"tasteaza o
fraza: ";
cin.get(s2,100);
cin.get();
a=strcspn(s1,s2); //returneaza numarul caracterelor din s1 si nu sunt in s2
cout<<a;
return 0;
}
11. Functia spn
Forma generală: strspn(s1,s2)
Funcția returnează numărul
caracterelor
din șirul s1 care se găsesc în șirul s2
#include
<iostream>
#include<string.h>
#include
<stdio.h>
using
namespace std;
int
main()
{
int a;
char s1[100],s2[100];
cout<<"tasteaza
o fraza: ";
cin.get(s1,100);
cin.get();
cout<<"tasteaza
o fraza: ";
cin.get(s2,100);
cin.get();
a=strspn(s1,s2);
cout<<a;
return 0;
}
12. FUNCTII UTILIZATE PENTRU
CONVERSIA VALORILOR
NUMERICE în SIR
La utilizarea acestor
funcții se introduce directiva #include<stdlib.h>
a) Funcția atof
- convertește un şir
către tipul
double
b) Funcția atold - convertește un şir către 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) Funcția atoi - convertește un şir
către tipul
int
d) Funcția atol - convertește un şir
către 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) Funcția ecvt - convertește o valoare double către un
sir f)
Funcția itoa - convertește o valoare de tip
int
către un sir
g) Funcția ltoa - convertește o valoare de tip long int către un sir
Niciun comentariu:
Trimiteți un comentariu