Exemplu: Se citește un şir de caractere şi se afișează numărul de caractere a șirului
#include
int main()
{
char s1[100];
cout<<”tasteaza o fraza: ”;
cin.get(s1,100);
cin.get();
cout<<"Sirul citit este : "<
}
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
#include
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<
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
#include
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<
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
#include
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<
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
#include
using namespace std;
int main()
{
char s1[100],s2[100];
cout<<"tasteaza o fraza: ";
cin.get(s1,100);
cin.get();
cout<
cout<return 0;
}
6. Functia strrchr
Returnează adresa ultimei apariții a caracterului căutat strrchr(şir, 'caracter' )
#include
#include
using namespace std;
int main()
{
char s1[100],s2[100];
cout<<"tasteaza o fraza: ";
cin.get(s1,100);
cin.get();
cout<
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= 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
- 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
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
#include
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
#include
#include
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<return 0;
}
9. Functia strstr
Forma generală: strstr(sir1,sir2)
Funcția identifică dacă șirul sir2 este subșir al șirului sir1
#include
#include
#include
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
#include
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<
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
#include
#include
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<
return 0;
}
12. FUNCTII UTILIZATE PENTRU CONVERSIA VALORILOR NUMERICE în SIR
La utilizarea acestor funcții se introduce directiva #include
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
#include
void main()
{
float f;
char *str = "12345.67"; f = atof(str);
cout<<"string = "<
}
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
#include
void main()
{
int n;
char *str = "12345.67"; n = atoi(str);
cout<<"string = "<
}
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