Стандартен тип string
Стойностите от тип string са низове от знаци. Те могат да се обработват подобно на низовете от знаци представени като масиви от тип char.
Пример: “Plovdiv”, “688990”, “Az programiram.” и др.
- Декларации на променливи от тип string.
Декларирането на променливи ит този тип става чрез:
string s;
Да обърнем внимание, че тук не се указват брой знаци в низа. За така декларирания низ s се заделят първоначално 32 байта. Ако на низа се присвои като стойност друг низ, съдържащ повече от 32 знака, автоматично се заделя още памет – 64 байта и т.н. – големината на променливата s се променя динамично.
- Въвеждане на променливи от тип string.
Подобно на низовете, декларирани като масив от знаци, променливите от тип string могат да се въвеждат с помощта на cin. По същия начин не могат да се прочитат интервалите и другите разделители. Както може да се очаква, за четене на цели редове от знаци има допълнителна функция:
getline(cin, s);
cin – означава, че се чете от клавиатурата(стандартния вход);
s – посочва променливата, в която ще се запише текста въвеждан от клавиатурата. В променливата s се записва целия текст въведен от клавиатурата, завършващ със знак за край на ред.
Ако се налага да се чете текста до друг знак, може да се използва трети параметър на функцията getline по следния начин:
getline(cin,str,’p’)
В низа се записват всички въведени знаци, до първото срещане на посочения в третия параметър знак.
- Извеждане на променливи от тип string.
Подобно на низовете, декларирани като масив от знаци, променливите от тип string могат да се извеждат с помощта на cout.
- Стандартни функции за работа с променливи от тип string.
а) определяне на брой знаци в низа (размер на низа)
s.length()
s.size()
Двете функции връщат като резултат броя на знаците в низа s.
б) определяне на начален и краен знак в низа.
s.begin()- връща указател към началото на низа
s.end()- връща указател към края на низа
в) отделяне на част от низа
s.substr(n1,n2)- отделя n2 на брой знака от низа, започвайки от позицията с номер n1.
г) изтриване на съдържанието на целия низ
s.clear()- след изпълнението на тази функция низът не съдържа знаци и дължината му е 0.
д) изтриване на част от низ
s.erase(n1,n2)- изтрива n2 на брой знака от низа, започвайки от позицията с номер n1.
е) вмъкване на друг низ в дадения
s.insert(n,s1)- вмъква низа s1 в низа s от позиция с номер n.
ж) размяна на два низа
s.swap(s1)- разменя стойностите на низа s и s1.
з) проверка за празен низ
s.empty()- връща стойност “истина”, ако низа s е празен и “лъжа” в противен случай.
- Стандартни операции за работа с променливи от тип string.
а) слепване (конкатенация) на низ и знак и на низ и низ
операцията +
б) сравняване на два низа
операциите <, >, <=, >=, ==
в) операция за присвояване
<променлива от тип низ>=<израз от тип низ>
|