Стрингови у C++

Стринг у програмском језику C представља низ података типа char:

char s1[50], s2[50];
strcpy( s1, "bla bla" );
strcpy( s2, s1 );
strcat( s1, "nesto" );
int duzina = strlen( s1 );

Могу се користити у програмском језику C++, операције са стринговима су глобалне функције.


Стрингови у C++

Стринг у програмском језику C++ је тип податка, односно објекат класе string (string објекaт), која је описана у заглављу string, па га је неопходно укључити на почетку програма директивом #include <string>. Операције са стринговима су методе класе string. String објекат декларише се на следећи начин:

string primer;

Постоји неколико начина за иницијализовање string објеката, приказани су у следећој табели:

string adresa; декларише празан стринг adresa
string ime („Nikola Vukovic“);

декларише string објекат ime и иницијализује га са „Nikola Vukovic“, исти ефекат иницијализације стринга почетном вредношћу може се постићи и помоћу декларације:

string ime="Nikola Vukovic";
string osoba2(osoba1); декларише string објекат osoba1, који је копија string објекта osoba2, при чему osoba2 може да буде други стринг или низ знакова
string set1(set2,5); декларише string објекат set1 који се иницијализује са првих 5 знакова низа знакова set2
string punRed(‘z’,10); декларише string објекат punRed који се иницијализује са 10 знакова ‘z’
string ime(punoIme,0,7); декларише string објекат ime који се иницијализује подстрингом стринга punoIme. Подстринг има 7 знакова и почиње од позиције 0
#include <string>
string A( "bla bla"), B; // inicijalizacija stringa A, deklarisanje stringa B (podrazumevani konstruktor)
B = A; // kopiranje stringa A u string B (konstruktor kopije)

Неке од метода класе string наведене су у следећој табели:

str1.append(str2) додаје str2 на str1. str2 може бити string објекат или низ знакова
str1.append(str2,x,n) n знакова објекта str2 почев од позиције x додају се објекту str1. Ако str1 нема довољну дужину, копираће се онолико знакова колико може да стане
str1.append(str2,n) првих n знакова str2 додаје се на str1
str.append(n,’z’) n копија знака ‘z’ додаје се објекту str
str1.assign(str2) додељује str2 објекту str1. str2 може бити string објекат или низ знакова
str1.assign(str2,x,n) n знакова објекта str2 почев од позиције x додељује се str1. Ако str1 нема довољну дужину, копираће се онолико знакова колико може да стане
str1.assign(str2,n) првих n знакова str2 додељује се објекту str1
str.assign(n,’z’) додељује n копија знака ‘z’ објекту str
str.at(x) враћа знак на позицији x у објекту str
str.capacity() враћа величину меморије која је алоцирана за стринг str
str.clear() брише све знакове у стрингу str
str1.compare(str2) пореди стрингове као функција strcmp за C стрингове, са истим повратним вредностима. str2 може бити string објекат или низ знакова
str1.compare(x,n,str2) пореди стрингове str1 и str2 почев од позиције x наредних n знакова. Повратна вредност је иста као у функцији strcmp. str2 може бити string објекат или низ знакова
str1.copy(str2,x,n) копира n знакова низа знакова str2 у str1 почев од позиције x. Ако str2 није довољно дугачак функција копира онолико знакова колико може да стане
str.data() враћа низ знакова са нулом на крају, као у str
str.empty() враћа true ако је str празан
str.erase(x,n) брише n знакова из објекта str почев од позиције x
str1.find(str2,x) враћа прву позицију иза позиције x где се стринг str2 налази у str1. str2 може бити string објекат или низ знакова
str.find(‘z’,x) враћа прву позицију иза позиције x на којој се знак ‘z’ налази у str1
str1.insert(x,str2) умеће копију str2 у str1 почев од позиције x. str2 може бити string објекат или низ знакова
str.insert(x,n,’z’) умеће ‘z’ n пута почев од позиције x
str.length() враћа дужину стринга str. Исти резултат враћа и функција str.size()
str1.replace(x,n,str2) замењује n знакова у str1 почев од позиције x знаковима из string објекта str2
str.substr(pocetak, duzina) издвајање подстринга дужине duzina од позиције pocetak (водити рачуна да је редни број почетне позиције у стрингу 0)

Комплетан преглед метода класе string може се видети на адреси: string – C++ Reference

Advertisements

Оставите одговор

Попуните детаље испод или притисните на иконицу да бисте се пријавили:

WordPress.com лого

Коментаришет користећи свој WordPress.com налог. Одјавите се / Промени )

Слика на Твитеру

Коментаришет користећи свој Twitter налог. Одјавите се / Промени )

Фејсбукова фотографија

Коментаришет користећи свој Facebook налог. Одјавите се / Промени )

Google+ photo

Коментаришет користећи свој Google+ налог. Одјавите се / Промени )

Повезивање са %s