MeditatiiDirect.ro Logo
MeditatiiDirect.ro
Educație la un click distanță
MeditatiiMateriiAdmitereTutorialePregatire BACSubiecte BACVariante BACBlog
InformaticăliceuClasa 9usor

Șiruri de Caractere în C++ - String și Operații

Tot ce trebuie să știi despre std::string: declarare, operații, metode și algoritmi pe șiruri.

3 luni în urmă
0 vizualizări
20 minute

Șiruri de Caractere în C++

C-String vs std::string

1// C-String (char array)
2char cstr[100] = "Hello";
3
4// std::string (recomandat)
5#include <string>
6string str = "Hello";

Operații de Bază

1#include <iostream>
2#include <string>
3using namespace std;
4
5int main() {
6    string s1 = "Hello";
7    string s2 = "World";
8    
9    // Concatenare
10    string s3 = s1 + " " + s2;  // "Hello World"
11    s1 += "!";                   // "Hello!"
12    
13    // Lungime
14    cout << s1.length() << endl;  // sau size()
15    
16    // Acces caractere
17    cout << s1[0] << endl;        // 'H'
18    cout << s1.at(1) << endl;     // 'e' (cu verificare bounds)
19    
20    // Comparare
21    if (s1 == s2) cout << "Egale" << endl;
22    if (s1 < s2) cout << "s1 < s2 lexicografic" << endl;
23    
24    // Subșir
25    string sub = s1.substr(0, 3);  // "Hel" (de la poziția 0, 3 caractere)
26    
27    return 0;
28}

Căutare și Înlocuire

1string s = "Hello World World";
2
3// Căutare
4size_t pos = s.find("World");      // 6
5pos = s.find("World", 7);          // 12 (căutare de la poziția 7)
6pos = s.rfind("World");            // 12 (căutare de la final)
7
8if (s.find("xyz") == string::npos)
9    cout << "Nu a fost găsit" << endl;
10
11// Înlocuire
12s.replace(6, 5, "C++");  // "Hello C++ World"
13
14// Ștergere
15s.erase(5, 4);           // Șterge 4 caractere de la poziția 5
16
17// Inserare
18s.insert(5, " there");   // Inserează la poziția 5

Conversii

1// String -> Număr
2string numStr = "12345";
3int num = stoi(numStr);       // 12345
4long l = stol(numStr);
5double d = stod("3.14");
6
7// Număr -> String
8string s = to_string(42);     // "42"
9string s2 = to_string(3.14);  // "3.140000"

Algoritmi Utili

1#include <algorithm>
2
3string s = "Hello World";
4
5// Sortare
6sort(s.begin(), s.end());  // " HWdellloor"
7
8// Inversare
9reverse(s.begin(), s.end());
10
11// Transformare în majuscule/minuscule
12transform(s.begin(), s.end(), s.begin(), ::toupper);
13transform(s.begin(), s.end(), s.begin(), ::tolower);
14
15// Numărare caractere
16int count_l = count(s.begin(), s.end(), 'l');

Verificare Palindrom

1bool estePalindrom(const string& s) {
2    int n = s.length();
3    for (int i = 0; i < n / 2; i++) {
4        if (s[i] != s[n - 1 - i])
5            return false;
6    }
7    return true;
8}
9
10// Sau cu reverse
11bool estePalindrom2(const string& s) {
12    string rev = s;
13    reverse(rev.begin(), rev.end());
14    return s == rev;
15}

Tokenizare (Split)

1#include <sstream>
2
3vector<string> split(const string& s, char delim) {
4    vector<string> tokens;
5    stringstream ss(s);
6    string token;
7    
8    while (getline(ss, token, delim)) {
9        tokens.push_back(token);
10    }
11    
12    return tokens;
13}

Tutorialul te-a ajutat?

Dacă ai nevoie de ajutor personalizat, găsește un profesor calificat pentru meditații

MeditatiiDirect.ro Logo
MeditatiiDirect.ro

Platforma educationala din Romania pentru meditatii particulare. Profesori verificati, recenzii reale, inscriere gratuita.

Cauta sau publica anunturi gratuit pentru toate materiile scolare.

Meditatii

  • Meditatii
  • Meditatii Matematica
  • Meditatii Informatica
  • Meditatii Romana
  • Meditatii Engleza
  • Anunturi Meditatii
  • Meditatii Online
  • Ore Online
  • Meditatii BAC
  • Meditatii Bucuresti
  • Meditatii Cluj-Napoca
  • Meditatii Timisoara
  • Meditatii Iasi
  • Meditatii Fizica
  • Meditatii Chimie
  • Meditatii Biologie

Materii Populare

  • Matematică
  • Limba Română
  • Limba Engleză
  • Informatică
  • Fizică
  • Toate Materiile →

Platforma

  • Cum functioneaza
  • Pentru elevi si parinti
  • Pentru profesori
  • Intrebari frecvente
  • Despre noi
  • Publica anunt gratuit

Resurse

  • Profesor Particular
  • Pregatire BAC
  • Admitere Facultate
  • Universitati Romania
  • Facultati Medicina
  • Facultati Informatica
  • Facultati Politehnica
  • Facultati Drept
  • Facultati Economice
  • Facultati Psihologie
  • Grile UPB
  • Grile Medicina
  • Grile Auto 2026
  • Variante BAC 2026
  • Simulare BAC 2026
  • Subiecte BAC
  • Subiecte Admitere
  • Titularizare 2025
  • Tutoriale
  • Blog educational
  • Ore Online
  • Profesori Online
  • Contact

MeditatiiDirect.ro este o platforma educationala din Romania unde gasesti meditatii si profesori particulari verificati pentru matematica, limba romana, engleza, informatica, fizica, chimie si alte materii. Disponibil in Bucuresti, Cluj-Napoca, Timisoara, Iasi si toata Romania, inclusiv meditatii online. Publica sau gaseste anunturi meditatii gratuit, programeaza ore online cu profesori verificati, cauta un profesor particular sau incepe meditatii BAC si admiterea la facultate.

© 2026 MeditatiiDirect. Toate drepturile rezervate.