C++ Standard Template Library (STL) sadrži klasu string koja se koristi za operacije s nizom  znakova.  Morate koristi, odnosno uključiti:
#include <string>

Primjeri deklaracije i inicijalnih vrijednosti:
string s = "abc def abc";
string s2 = "abcde uvwxyz";
char c;
char prezime[30];
char ch[] = "aba daba do";
char *cp = ch;
unsigned int i;


Ulaz - stream 

cin >> s;

Pohranjuje učitanu vrijednost u s. Staje kod razmaka!

Izlaz - stream 

cout << s;

Ispisuje string na izlazni stream.

Ulaz (redak)

getline(cin, s);
cin.getline (prezime,sizeof(prezime));

Čita do slijedeće oznake za novi red, te postavlja rezultat u varijablu.

 

gets(s)

Učita skup znakova do ENTER.

Dodjela

s = s2;s = "abc";
s = ch; s = cp;

Niz znakova, stringovna varijabla ili znakovno polje može se dodijeliti kao vrijednost stringovnoj varijabli.

Jedan znak

s[1] = 'c';
c = s[1];

Mijenja string s u "acc def abc"
Postavlja  c na vrijednost 'b'. 

Dužina

i = s.length();
i = s.size();

Varijabla i poprima vrijednost dužine stringa s

Prazan?

if(s.empty()) i++;
if(s == "") i++;

Dodaje 1 varijabli i ako string s nije prazan

Relacijski operatori

if (s < s2) i++;

Koristi ASCII kod da odredi koji je string „manji“. Ovdje je vrijednost uvjeta istina zbog razmaka prije d

Zbrajanje stringova

s2 = s2 + "x";
s2 += "x";

Dodaju x na kraj stringa s2

Podstring

s = s2.substr(1,4);
s = s2.substr(1,50);

Prvi primjer počinje na poziciji 1 stringa s2 i uzima 4 znaka pa je  s = "bcde". Drugi: s= "bcde uvwxyz". Ako je dužina (ovdje 50) veća uzima se ostatak stringa. Prvi indeks je 0 kao i indeks polja!

Zamjena podstringa

s.replace(4,3,"x");

Zamijeni 3 znaka u s počevši od mjesta 4 znakom x. Varijabla s = "abc x abc".

Odstraniti podstring

s.erase(4,5);
s.erase(4);

Odstranjije 5 znakova počevši od pozicije 4 stringa s. Nova vrijednost s je "abc bc".
Odstranjuje od pozicije 4 do kraja stringa. Nova vrijednost je "abc ".

Znakovno polje u string

s = ch;

Konvertira znakovno polje ch u string s.

String u znakovno polje

cp = s.c_str();

Pokazivač cp pokazuje  na znakovno polje s istim znakovima kao i string s.

Traženje

i = s.find("ab",4);
if(s.rfind("ab",4) != string::npos)
   cout << "Da" << endl;

Prvi primjer vraća poziciju podstringa "ab" počevši na poziciji 4, pa je i=8. Find i rfind funkcije vraćaju int string::npos ako podstring nije pronađen. Drugi primjer traži zdesna počevši na 4. poziciji. Pošto je pronađen string ispisuje se Da.