Некоторые операции над строками в программировании
si+s2 Конкатенация; символы в целевом объекте класса string будут копиями символов их строки si, за которыми следуют копии символов из строки s2
si==s2 Сравнение объектов класса string; либо si, либо s2, но не оба объекта могут быть строкой в стиле языка С. См. также описание операции ! =
si и >=
s.size() Количество символов в строке s
s.length() Количество символов в строке s
s.c str() Версия объекта s в стиле языка С
s.begin() Итератор на первый символ
s.end() Итератор на ячейку, следующую за концом строки s
s.insert(pos,x) Вставка объекта x перед строкой s[pos]; объект x может быть объектом класса string или строкой в стиле языка С. Строка s увеличивается, чтобы поместить символы из объекта x
s.append(x) Вставка объекта x после последнего символа; объект x может быть объектом класса string или строкой в стиле языка С. Строка s увеличивается, чтобы поместить символы из объекта x
s.erase(pos) Удаление хвостовых символов, начиная с позиции pos. Размер строки s становится равным pos.
s.erase(pos,n) Удаление n символов из строки s, начиная с элемента s[pos]. Размер строки s становится равным max(pos,size-n).
pos = s.find(x) Поиск объекта x в строке s; объект x может быть символом, объектом класса string или строкой в стиле языка С; переменная pos — это индекс первого найденного символа или значение string::npos (позиция ячейки, следующей за концом строки s)
in>>s Считывание слова, отделенного пробелами из потока in в объект s
getline(in,s) Считывание строки текста из потока in в объект s
out<
Обратите внимание на то, что операции ввода в объект класса string при необходимости увеличивают его размер, поэтому переполнение никогда не происходит.
Операции insert() и append() перемещают символы, чтобы освободить место для новых. Операция erase() сдвигает символы влево, чтобы заполнить пробел, оставшийся после удаления символа.
На самом деле стандартная строка в библиотеке описывается шаблонным
* классом basic_string, поддерживающим множество наборов символов, например, Unicode, в котором предусмотрены тысячи символов (таких как £, Q, да, 8, s и J3 , кроме обычных символов).
Скажем, если у вас есть шрифт, содержащий символ из набора Unicode, например Unicode, можете написать следующий фрагмент кода:
basic_string a_unicode_string;
Стандартный класс string, который мы используем, является просто классом basic_string, конкретизированным обычным типом char.
typedef basic_string string; // строка — это basic_string
Опубликовал katy
April 19 2015 20:27:02 ·
0 Комментариев ·
2260 Прочтений ·
• Не нашли ответ на свой вопрос? Тогда задайте вопрос в комментариях или на форуме! •
Комментарии
Нет комментариев.
Добавить комментарий
Рейтинги
Рейтинг доступен только для пользователей.
Пожалуйста, залогиньтесь или зарегистрируйтесь для голосования.
Нет данных для оценки.
Гость
Вы не зарегистрированны? Нажмите здесь для регистрации.