Школа программиста

Забыли пароль?
[задачи] [курсы] [олимпиады] [регистрация]
Логин:   Пароль:    
Скрыть меню
О школе
Правила
Олимпиады
Фотоальбом
Гостевая
Форум
Архив олимпиад
Архив задач
Состояние системы
Рейтинг
Курсы
Новичкам
Работа в системе
Курсы ККДП
Дистрибутивы
Статьи
Ссылки


 

Строка – последовательность символов. Элементы строки пронумерованы от 0 до n-1, где n – длина строки.

Для работы со строками в C++ удобно использовать тип string, для чего необходимо подключить библиотеку string (#include ). Строка представляет собой массив элементов типа char. Для обращения к k-му элементу строки используется запись s[k], где s-имя строки, k-номер символа. Ограничения на длину строк нет.

Сравнение строк происходит лексикографически (как в словаре), соответствующие символы строк сравниваются согласно ASCII-кодам , т.е. "A" < "AA", "ABC" < "CA", "100" < "99" и т.д.

Описание, чтение и вывод строк выглядит следующим образом:

 
 


Программа выведет:
Input string 1: Pupkin Vasiliy 
Input string 2: Pupkin Vasiliy
p=Pupkin Vasiliy, s=Pupkin
two > three
ivan > IVAN
s < p
V i s u a l   C + +

Функции и методы класса string

ФункцияОписание
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++ поддерживают возможность использования следующих функций для решения этих задач:

Пример использования функций библиотеки string

 
 Язык программирования C++
 Решение олимпиадных задач
 Региональные олимпиады
 Книги Фёдора Меньшикова
 Тренировочные олимпиады
 Введение
 Условный оператор
 Операторы цикла
 Строковые типы данных
 Массивы
 Функции
 Сортировка
 Двумерные массивы
 Рекурсия
 Символьный тип (char)
 Строковый тип (string)
 Системы счисления
 A. Клавиатура
 B. Цветочки
 C. Число E
 D. Шахматы
 E. Стрелки
 F. Измени порядок
 G. Рунные слова
 H. Шифровка
 I. Золото племени АББА

Красноярский краевой Дворец пионеров, (c)2006 - 2024, ИНН 246305493507, E-mail: admin@acmp.ru



malteseworld.ru