Niz znakova se kreira na isti način kao i sve ostale jednodimenzionalne nizove:
char ime[N];- deklaracija znakovnog niza
ime – označava ime promenljive, a N označava broj znakova (koliko elemenata ima niz sa nazivom ime). Jedan od N znakova koji su elementi niza je ‘ ‘ – i predstavlja null знак или null terminator. Ovaj znak označava kraj tekstualnog podataka, t.j omogućava da niz ima manje od N znakova. Prikaz znakova u nizu:

Na ovaj način štampaju se znakove niza sve dok se ne stigne do ‘ ‘. Svi znaci posle ‘ ‘ su nebitni i ne koriste se.
Inicijalizacija nizova
char niz[]={‘D’,’a’,’r’,’k’,’o’,“} //Navodi se null znak,//
char niz[]=“Darko“ // znak se podrazumeva//
PR.
#include <cstdlib>
#include <iostream>
using namespace std;
int main()
{
char array[] = „Darko“;
array[0] = ‘M’; //obican niz
cout << array << endl; //stampa ‘Marko’
char text[100];
cout << „Unesi rec: „;
cin >> text; //unosi niz
cout << text; //stampa unetu rec
system(„PAUSE“);
return EXIT_SUCCESS;
}
U programu, naredbom cin >> text, čita reč koja se unosi preko tastature i dodeljuje se promenljivoj text. Na kraju teksta se automatski unosi i znak null. Znači cin>> čita podatke sve do prvog pojavljivanja praznog mesta. Ako je potrebno pročitati ceo red uvodi se funkcija cin.getline(char[], N).
Funkcije koje omogućavaju rada sa tekstualnim nizovima
- strlen(char[] niza)– vrednost funkcije je dužina niza bez znak null
- strcpy(char[] destinacija, char[] izvor)– kopira tekstualni niz sa izvora do destinacije uključujući i znak null
- strncpy(char[] destinacija, char[] izvor, int N)– kopira najviše N znakova od izvora do destinacije, znak null se kopira samo ako spada u N znakova, inače se uvodi sam. Napomena: niz destinacija mora da bude dovoljno velik da bi primio sve znakove sa izvora
- strcmp(char[] prva, char[] druga)– upoređuje niz prvi i niz drugi i kao vrednost daje 0 ako su nizovi jednaki
- strncmp(char[] prva, char[] druga, int N)– upoređuje N znakova niza prvi i drugi i ako su isti dodeljuje vrednost 0
- strcat(char[] prva, char[] druga)– dodaje nizu prvi niz drugi, niz prvi treba da bude dovoljno velik da prihvati i znakove niza drugi
- strncat(char[] prva, char[] vtora, int N)– nadovezije prvih N znakova niza drugi nizu prvi
Pr1:
#include <cstdlib>
#include <iostream>
using namespace std;
int main()
{
char a[] = „prva niza“;
char b[] = „druga niza“;
char c[] = „tekst“;
char d[] = „tekst“;
cout << strlen(a) << endl; //stampa ‘9’
cout << strlen(c) << endl; //stampa ‘5’
char t[100];
strcpy(t, „Nekoja vrednost“); //t=“Nekoja vrednost“
strcpy(t, „Neshto drugo“); //t=“Neshto drugo“
strcpy(t, a); //t=“prva niza“
strncpy(t, b, 4); //t=“drugdruga niyae kopira se )
t[4] = “; //t=“drug“
strcat(t, b); //t=“druga niza“
cout << t << endl; //stampa „druga niza
cout << strcmp(t, a) << endl; //stampa 1
cout << strcmp(c, d) << endl; //stampa „0“
system(„PAUSE“);
return EXIT_SUCCESS;
}
Pr2:
Resenje:
#include <iostream>
#include <string>
using
namespace
std;
int
main()
{
string a, b;
a =
"prva"
;
b =
"druga"
;
cout << a.size() << endl;
//stampa'4'
cout << b.size() << endl;
//stampa'5'
a = a +
" "
+ b;
cout << a << endl;
//stampa'prva druga'
b = b + b;
cout << b << endl;
//stampa'drugadruga';
return
0;
}