Şiruri de caractere
#include<iostream>
using namespace std;
int main()
{char x[]="Dimineata";
cout<<strlen(x);
}
Funcţia strlen(x) afişează numărul de caractere din şirul x.
#include<iostream>
using namespace std;
int main()
{int i;
char x[]="Dimineata";
for(i=0;i<strlen(x);i++)
cout<<x[i]<<".";
}
se va afişa D.i.m.i.n.e.a.t.a
Funcţii pentru şiruri de caractere
strcpy(destinaţie,sursă) - copiază şirul
sursă în şirul
destinaţie
strcat(s1,s2) - concatenează
s2 la sfârşitul lui
s1(lipeşte)
strncat(s1,s2,n) - concatenează primele
n caractere din
s2 la sfârşitul lui
s1
strcmp(s1,s2) - compară şirurile
s1 şi
s2(pe baza codului ASCII); în cazul în care
s1>s2 va afişa
"1"; dacă
s1<s2 va afişa
"-1"; în caz de
egalitate va afişa
"0".
strstr(s1,s2) - verifică dacă
s2 este subşir al lui
s1
strchr(s,c) - verifică dacă
c se află în şirul
s şi returnează în acest caz o valoare nenulă; dacă caracterul
c nu se află în şirul
s va returna o valoare nulă
Exemple:
1)
#include<iostream>
using namespace std;
int main()
{ char s1[140],s2[140];
cin>>s1; // ABC
cin>>s2; // DEF
strcat(s1,s2);
cout<<s1; // ABCDEF
cout<<s2; // DEF ... sirul s2 s-a atasat la sfarsitul s1 si a ramas cu aceeasi valoare
}
2)
#include<iostream>
using namespace std;
int main()
{ char s1[140],s2[140];
cin>>s1; // ABC
cin>>s2; // ABA
strcmp(s1,s2);
cout<<strcmp(s1,s2); // compara codul ASCII al sirurilor
}
3)
#include<iostream>
using namespace std;
int main()
{ char c;
cin>>c;
if(strchr("aeiou",tolower(c))!=0)
cout<<"vocala";
else cout<<"consoana";
}