

- Работа с текстове
- Въвеждане и извеждане на низ
- Определяне на дължината на низ
- Сравняване на низ
- Копиране на низове
- Стандартен тип string
- Работа с дълги числа
- Задачи с дълги числа
- Авторски задачи
Стойности от тип 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
а) слепване (конкатенация) на стринг и знак или на стринг и стринг
операцията +
б) сравняване на два стринга
операциите <, >, <=, >=, ==
в) операция за присвояване
<променлива от тип стринг>=<израз от тип стринг>