Рабочий стол > DL Руководство пользователя > ... > Быстрое погружение в язык C++ > Строки > Просмотр
Строки Войти | Зарегистрироваться   Просмотр версии для печати текущей страницы.

Добавлено Egor, последний раз изменено Egor Oct 09, 2016  (просмотр изменений)
Метки: 
(нет)

 объявление
  string s;         ??? - до 2Гбт

  cin >> s;            // Если строка не содержит пробелов
  getline(cin,s);      // Если строка содержит пробелы

  d=s.length();        // Длина строки - количество символов в ней

Над строковыми переменными возможно выполнение следующих операций,
функций и процедур.

Операции:

  сравнения ( ==(равно) !=(не равно) < <= > >=)
  конкатенации +   s4=s1+s2+s3;  { объединение строк }

Функции:

  d =s.length()               // вернуть длину строки
  s2=s1.substr(Index,Count)   // выделить подстроку из строки s1
                                 с позиции Index (нумерация с нуля!!!)
                                 Count символов

  s.erase(Index,Count)        // удалить из строки s, с позиции Index, Count символов
                              // результат оставить в строке s

  s1.insert(Index,s2);        // вставить в строку s1 c позиции Index строку s2

  p=s1.find(s2)               // найти позицию первого вхождения строки s1 в строку s2
                              // то есть
                              // занести в переменную p номер первой позиции,
                              // начиная с которой строка s2 находится в строке s1
                              // если подстроки s2 нет в строке s1, p=-1

  char c;
  int  k;

  c='a';
  k=c;                        // получить код символа

  k='b';
  c=k;                        // получить символ по коду

  k=c-'0';                    // получить цифру по её символу

  c=toupper(c);               // только для латинских букв
                              // маленький символ превратить в большой

  c=tolower(c);               // только для латинских букв
                              // большой символ превратить в маленький

  string s;
  int    x;

  x=atoi(s.c_str())           // преобразовать строку s в число  x
  s=to_string(x);             // преобразовать число  x в строку s



  s[i]='a';                   // Замена символа строки

                              // Формирование строки добавлением символов
  d=s.length();
  p="";                              // пустая строка
  for (i=0; i<d; i++) p=s[i]+p;      // переворачивание строки
                   // p=s[i]+'*';       добавление символа '*' после каждого символа


  sort(s.begin(),s.end());    // сортировка строки s

  isdigit(с)                  // является ли символ с цифрой                        (функция)
  isupper(c)                  // является ли символ с большой   латинской буквой    (функция)
  islower(c)                  // является ли символ с маленькой латинской цифрой    (функция)


  cin >> n >> m;  getline(cin,s); // "проглатывание" до конца строки после ввода чисел

  p=s.find_last_of(с);        // позиция последнего вхождения символа c в строку s

  for (i=0; i<d-2; i+=3)      // обрабатываем каждое третье i с нуля: 0,3,6,9 ...

  if (i%2)                    // проверяем i на нечётность (остаток от деления на 2 не равен 0)


  int a[10]={5, 7, 4, 2, 8, 6, 1, 9, 0, 3}; // массив констант

  int steps[8][2] = {{1,-2},{1,2},{-1,-2},{-1,2},  // двумерный массив констант
                     {2,-1},{2,1},{-2,-1},{-2,1}};
 

Powered by Atlassian Confluence, the Enterprise Wiki. (Version: http://www.atlassian.com/software/confluence Build:#2.6.1 916) - Ошибка/новая особенность - Свяжитесь с Администраторами