Инструменты пользователя

Инструменты сайта


klass_string

Различия

Показаны различия между двумя версиями страницы.

Ссылка на это сравнение

klass_string [2011/02/03 15:07]
klass_string [2020/06/13 13:45] (текущий)
Строка 1: Строка 1:
 +====== Класс string ======
 +Класс предоставляет методы для работы с символами и представляет собой массив символов с поддержкой строк любой длины. Символы из таблицы [[ASCII]], unicode не понимает.
  
 +Список наиболее часто используемых функций класса string:
 +  * operator[] - доступ к конкретным символам в строке для чтения или записи. 
 +  * c_str() - конвертация строки в const char* для использования в функциях, не умеющих работать со string.
 +  * append - добавление символов к концу строки.
 +  * operator= - присваивание строке других строк, символьных массивов и даже чисел. 
 +  * insert - вставка символов или других строк в переменную типа string. 
 +  * erase - удаление одного или более символов из заданной строки в заданной позиции. 
 +  * replace - замещение одного или более символов в заданной позиции. 
 +  * length(или size) - возвращение количества символов в строке. 
 +  * empty - определение, есть ли в строке символы. 
 +  * find - нахождение первого вхождения символа или подстроки в данной строке. 
 +  * rfind - аналог find, но осуществляет поиск с конца строки назад. 
 +  * find_first_of - нахождение первого вхождения символов из набора в строке. 
 +  * substr - возвращение подстроки. 
 +  * find_first_not_of - нахождение первого символа в строке, не входящего в заданный набор. 
 +  * compare - сравнение строки (также поддерживаются операторы !=, <, >) 
 +
 +Класс string - является одним из самых используемых классов. Давайте разберем пример работы с ним: 
 +<file>
 +#include <stdio.h>
 +#include <stdlib.h>
 +#include <string>
 +
 +using namespace std;
 +
 +void main()
 +
 +{
 +
 +  // Присвоить строку символов объекту типа string
 +
 +  string s = "Hello world";
 +
 +  // Получить первое слово в строке
 +
 +  int nWordEnd = s.find(' ');
 +
 +  string sub_string = s.substr(0,nWordEnd);
 +
 +  // Вывести результаты
 +
 +  printf("String: %s\n", s.c_str());
 +
 +  printf("Sub String: %s\n", sub_string.c_str());
 +
 +}
 +</file>
 +
 +Комментарии к примеру.
 +Вы можете прямо присваивать строку символов объекту string. Это упрощает использование строк с данными в программе. 
 +Метод find найдет первое вхождение символа в строке. Возвращает метод позицию (начиная с 0) найденного символа, или -1, если подходящего символа в строке не нашлось. 
 +Метод substr возвращает копию части строки, начинающейся с позиции, заданной первым параметром метода, и длиной, заданной во втором параметре метода. Если опустить второй аргумент, то возвратится строка символов начиная с данной позиции до конца исходной строки. 
 +Для вывода строки на экран используется функция printf, выводя строку как символьный массив. Используем метод c_str() для преобразования объекта string в символьный массив.