Работа с низове в стил С++
За да могат да се използват дадените по-долу конструктури на класа 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"; |
|
+ 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 |
| Размяна стойностите на 2 низа | string s1 = "Anatoliy",s2="Angelina"; s1.swap(s2);; cout <<"s1="<<s1 << endl; | s1= Angelina s2= Anatoliy |
str.c_str() | Преобразува низа в стил С. |
|
|