Для работы со строками в C++ удобно использовать тип string, для чего необходимо подключить библиотеку string (#include ). Строка представляет собой массив элементов типа char. Для обращения к k-му элементу строки используется запись s[k], где s-имя строки, k-номер символа. Ограничения на длину строк нет.
Сравнение строк происходит лексикографически (как в словаре), соответствующие символы строк сравниваются согласно ASCII-кодам , т.е. "A" < "AA", "ABC" < "CA", "100" < "99" и т.д.
Функция | Описание |
s.length() | Длина строки. Также допустимо использовать s.size() |
s.find(str) | Ищет строку str в строке s слева направо и возвращает индекс первого вхождения. В том случае, когда такой подстроки не существует, функция возвращает беззнаковое значение -1 |
s.find(str, from) | Ищет строку str в строке s слева направо, начиная с позиции from, возвращает индекс первого вхождения. В том случае, когда такой подстроки не существует, функция возвращает беззнаковое значение -1 |
s.rfind(str) | Ищет строку str в строке s справа налево и возвращает индекс первого вхождения. В том случае, когда такой подстроки не существует, функция возвращает беззнаковое значение -1 |
s.rfind(str, from) | Ищет строку str в строке s справа налево, начиная с позиции from, возвращает индекс первого вхождения. В том случае, когда такой подстроки не существует, функция возвращает беззнаковое значение -1 |
s.find_first_of(str) | Ищет первое вхождение какого-либо символа из str в s слева направо |
s.find_last_of(str) | Ищет первое вхождение какого-либо символа из str в s справа налево |
s.find_first_not_of(str) | Ищет слева направо в строке s номер первого символа, не содержащегося в строке str |
s.substr(k, n) | Возвращает новую строку из n символов строки s, начиная с k-ой позиции |
s.substr(k) | Возвращает подстроку строки s, начиная с k-ой позиции до конца строки |
s.insert(k, str) | Вставляет в строку s строку str, начиная с k-й позиции |
s.erase(k, n) | Удаление n символов из строки s, начиная с k-й позиции |
s.erase(k) | Удаление символов из строки s, с k-го до последнего |
s.c_str() | возвращает указатель char* на символьный массив (для совместимости с ASCIIZ-строками) |
Часто возникает необходимость перевода строки в число и обратно. Современные компиляторы языка C++ поддерживают возможность использования следующих функций для решения этих задач: