Documente Academic
Documente Profesional
Documente Cultură
În
acest articol vom discuta despre șirurile de caractere reprezentate ca
tablouri unidimensionale cu elemente de tip char, reprezentare care provine
din limbajul C.
1.char s[11];
S-a declarat un șir care poate memora maxim 11 caractere, cu indici 0 1
... 10. Șirul s poate memora cel mult 10 caractere utile, după ultimul
caracter util fiind memorat caracterul '\0'.
1.cin >> s;
În acest mod, datorită specificului operatorului >> nu se pot citi șiruri care
conțin spații – se vor citi caracterele până la primul spațiu, fără acesta.
Pentru a citi șiruri care conțin spații, putem folosi metoda getline a
obiectului cin sau alt obiect de tip istream:
1.cin.getline(s , 11);
Am putea spune că getline citește toată linia și sare peste ENTER. Iată un
exemplu complet:
01.#include <iostream>
02.using namespace std;
03.int main(){
04.char nume1[31], nume2[31];
05.cout << "Cum te cheama? (nume, prenume) ";
06.cin.getline(nume1, 31);
07.cout << "Cum il cheama pe prietenule tau? ";
08.cin.getline(nume2 , 31);
09.cout << "Te numesti " << nume1 << endl;
10.cout << "Esti prieten cu " << nume2 << endl;
11.return 0;
12.}
O altă modalitate de citire a unui șir care poate conține spații este folosirea
metodei get a obiectului istream, pe care nu o mai prezentăm aici.
1.char s[11];
2.cin >> s; // se citeste un cuvant , fara spatii
3.int i = 0;
4.while(s[i] != '\0')
5.{
6.cout << s[i] << " ";
7.i ++;
8.}
sau mai condensat:
1.char s[11];
2.cin >> s; // se citeste un cuvant , fara spatii
3.for(int i = 0 ; s[i] ; i ++)
4.cout << s[i] << " ";
strlen
Exemple:
1.cout << strlen("pbinfo"); // 6
2.char s[10]="copil";
3.cout << strlen(s); // 5
4.cout << strlen(s + 2); //3
strcpy
Exemple:
01.char s[21], t[21] = "copil";
02.strcpy(s , "pbinfo");
03.cout << s; // pbinfo
04.strcpy(s , t);
05.cout << s; // copil
06.strcpy(s , t + 2);
07.cout << s; // pil
08.strcpy(s + 2 , t);
09.cout << s; // picopil
strncpy
Exemple:
1.char s[100]="abcdefghjkl";
2.strncpy(s, "poveste", 3);
3.cout << s; // povdefghjkl
strcat
Exemple:
1.char s[21]="pbinfo", t[21] = "copil";
2.strcat(s , t);
3.cout << s; // pbinfocopil
4.strcat(s , t + 2);
5.cout << s; // pbinfocopilpil
Exemple:
1.char s[21]="pbinfo";
2.char * p = strchr(s , 'i');
3.cout << p; // info
1.char ch = 'i';
2.if(strchr("aeiou" , ch) != NULL)
3.cout << "DA"
4.else
5.cout << "NU";
6.//se va afisa DA