Ce face std::string::append
s.append(t) face același lucru ca s += t: lipește textul la final, modificând șirul. În plus, are variante pe care += nu le are: o bucată dintr-un alt șir (append(t, poz, n)) sau un caracter repetat (append(5, '*')).
Returnează o referință la șir, așa că apelurile se pot înlănțui: s.append("a").append("b").
Parametri
| Parametru | Descriere |
|---|---|
text |
Textul de adăugat. |
poz, n |
Opțional: se adaugă doar n caractere din text, începând de la poz. |
n, c |
Adaugă caracterul c de n ori. |
Ce returnează
Referință la șirul modificat.
Exemple
Exemplul 1: Construirea unei adrese
#include <iostream>
#include <string>
int main() {
std::string adresa = "Str. Lăpușneanu";
adresa.append(" nr. 12").append(", Iași");
adresa += ", România";
std::cout << adresa << '\n';
}
Rezultat
Str. Lăpușneanu nr. 12, Iași, România
Exemplul 2: Bucăți și caractere repetate
#include <iostream>
#include <string>
int main() {
std::string cod_postal = "700259";
std::string judet;
judet.append(cod_postal, 0, 2); // primele două cifre
std::cout << "Prefix: " << judet << '\n';
std::string bara = "Progres: ";
bara.append(7, '#').append(3, '.');
std::cout << bara << '\n';
}
Rezultat
Prefix: 70
Progres: #######...
Greșeli frecvente
- Construiești un text mare cu
s = s + bucataîntr-o buclă: fiecare pas creează un șir nou.s += bucatasauappendadaugă pe loc.
Comenzi înrudite
std::string::push_back: push_back adaugă un caracter la final; pop_back șterge ultimul caracter.std::string::insert: Inserează text la o anumită poziție în șir, mutând restul spre dreapta.std::format_to: Scrie textul formatat direct într-un iterator de ieșire, de exemplu la finalul unui șir.std::strcpy: Copiază (strcpy, strncpy) sau lipește (strcat) șiruri C în tablouri de char.