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

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


Боковая панель

Связь

klass_string

Класс 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 - является одним из самых используемых классов. Давайте разберем пример работы с ним:

#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());

}

Комментарии к примеру. Вы можете прямо присваивать строку символов объекту string. Это упрощает использование строк с данными в программе. Метод find найдет первое вхождение символа в строке. Возвращает метод позицию (начиная с 0) найденного символа, или -1, если подходящего символа в строке не нашлось. Метод substr возвращает копию части строки, начинающейся с позиции, заданной первым параметром метода, и длиной, заданной во втором параметре метода. Если опустить второй аргумент, то возвратится строка символов начиная с данной позиции до конца исходной строки. Для вывода строки на экран используется функция printf, выводя строку как символьный массив. Используем метод c_str() для преобразования объекта string в символьный массив.


klass_string.txt · Последние изменения: 2011/02/03 12:07 (внешнее изменение)