Школа по програмиране - гр. Благоевград

Работа с низове в стил С++


За да могат  да се използват дадените по-долу конструктури на класа  string е необходимо да се включи заглавният ред:            #include  <string>

Оператори

Конструктори

Предназначение

Пример:

Какво ще се изведе

str.size()

str.length()

Дължина на низ.
Връща броя на символите в низа(функция).

string str = "C++ is best";

cout << str.size() << endl;

cout <<str.length()<<endl;

11

11

str[позиция]

Намиране на символ, заемащ определена позиция в низа

string  str = "Hello";
cout << str[0] << endl;


H

+

s1+s2 

Конкатенация на низове

Връща  низ съдържащ символите на s1 следвани от тези на s2

string  str = "Hello"; string  s;

s = str + ", World";cout << s << endl;

char ch = '!';s += ch; cout << s << endl;

Hello, World

Hello, World!

>          <          >=
<=        !=         ==

Сравняване на низове

string s1 = "Anatoliy",s2="Angelina";

cout <<(s1<s2) << endl;

1

str1.find(str2[,pos=0]);

Търсене (функция).

Връща позицията на първото срещане на str2  в низа str1, започвайки търсене в str1 от позиция pos. Ако низа не е намерен- връща стойност -1.Ако pos не е посочено се подразбира от 1 символ в str1, т.е. от този с индекс 0.

string str("C++ is best language");

int pos1, pos2;

pos1 = str.find ("best");

cout<< str.find ("best",pos1+1)<<endl;

8

0

str1.insert(pos1,str2);

Вмъкване на низ в друг низ

Вмъква  str2 в str1, започвайки от позиция pos1

string str("best ...best!!!");

str.insert(5,"tra",2);

cout<<str<<endl;

best tr...best!!!

str.replace(pos1,len1,string);

Заместване на част от един низ с друг

заменя len1 символа от низа str, започвайки от позиция pos1, с низа string.

string  str="STL is created ...";

string s1="was";

str.replace(4,2,s1);

cout << str << endl;

 

STL was created ...

str.erase(pos=0,n=npos);

Изтриване

Изтрива n символа от низа str, започвайки от позиция pos. Ако n не е посочено се разбира всички символи от позиция pos до края на низа.

string s1 = "Anatoliy";

s1.erase(1,1);cout <<s1 << endl;

 s1.erase(1); cout <<s1 << endl;

Atoliy

 

A

str.erase ();

Изтрива всички символи на низа

 

 

str.substr( pos, n)

Намиране на подниз (функция).

Връща подниз, който съдържа n символа на str, започвайки от позиция pos.

Default : pos = 0,n = npos

Ако n се пропусне връща всички символи от позиция pos да края на низа.

string s1 = "Anatoliy";

cout<<s1.substr(1,4)<<endl;

cout<<s1.substr(3)<< endl;

cout << s1.substr()<< endl;

nato

toliy

Anatoliy


swap(str1,str2);

Размяна стойностите на 2 низа

string s1 = "Anatoliy",s2="Angelina";

s1.swap(s2);; cout <<"s1="<<s1 << endl;
 cout <<"s2="<<s2 << endl;

s1= Angelina

s2= Anatoliy

str.c_str()

Преобразува низа в стил С.

 

 

В момента разглеждате олекотената мобилна версия на уебсайта. Към пълната версия.