Строки в C++
Для работы со строкам в C++ используется тип string . В разделе про потоки мы уже создавали объекты типа string и использовали их с операторами > . Рассмотрим этот тип подробнее.
Примеры создания объектов string :
string a; // пустая строка string b("abc"); // строка проинициализирована списком символов string c1(b); // c1 является копией b string c2 = b; // c2 является копией b string d('d', 10); // d = "dddddddddd"
Строки хранят в памяти последовательность объектов char , поэтому во многих случаях со строками можно работать как с массивом. Например, обращаться к символам через индекс.
string a("abz"); char c = a[2]; // 'z' char b = a.at(1); // 'b' a[2] = 'c'; // a = "abc"
Механизмы обращения к элементу через оператор [] и с помощью метода at() отличаются. В первом случае не происходит проверки того, что индекс меньше, чем длина строки. Если это условие не выполняется, то мы приходим к ситуации неопределенного поведения. Метод at() выполняет эту проверку и генерирует исключение в случае некорректного индекса. За это более безопасное поведение мы платим процессорным временем для дополнительной проверки.
По символам строки можно пройти в цикле:
string s("abcde"); for (char ch : s) cout <ch <' '; >
Узнать длину строки можно с помощью метода size() .
Строки можно конкатенировать с помощью оператора + или метода append :
string a("Hello, "); string b("world!"); string c = a + b; // "Hello, world!" a.append(b); // a = "Hello, world!" a += b; // a = "Hello, world!world!"
Добавить символ в конец строки можно с помощью метода push_back() , а удалить последний символ — с помощью метода pop_back() .
В типе string реализованы некоторые алгоритмы. Например, можно осуществлять поиск по строке:
string line("There are two needles in this haystack with needles."); string query("needle"); size_t found = line.find(query); // found = 14 if (found != string::npos) cout <"first '" <query <"' found at: " <found <'\n'; >
Метод find() возвращает позицию первого символа, которому соответствует совпадение. Если совпадений не найдено, возвращается специальная константа. size_t — это беззнаковый целочисленный тип.
Больше возможностей типа string можно найти в документации.
Документация
- en.cppreference.com/w/cpp/string/basic_string
- en.cppreference.com/w/cpp/header/cctype
Как добавить символ в строку
Может есть стандартная функция добавления в строку символов,до достижения строки определенной длины?Например есть Стр=»1000″,а надо чтоб стало Стр=»001000″.А если Стр=»10″,то стало Стр=»000010″.
простой цикл
// Функция дополняет входную строку лидирующими нулями до заланной длины
//
// Параметры
// ВхСтрока — строка источник
// ДоДлины — определяет длины выходной строки
//
// Возвращаемое значение:
// Входная строка с лидирующими нулями
//
Функция ДополнитьСтрокуЛидирующимиНулями(ВхСтрока, ДоДлины) Экспорт
Результат = ВхСтрока;
КолИтераций = ДоДлины — СтрДлина(ВхСтрока);
Если КолИтераций < 0 Тогда
Возврат Результат;
КонецЕсли;
Для к = 1 по КолИтераций Цикл
Результат = «0» + Результат;
КонецЦикла;
прав(«000000″+Стр,6)
(3) функция кривая: третьим параметром лениво было передать символ, которым догонять длину? А может я не ноликом захочу.
(4) Мда.
Прав(«00000000000000000000000000000000000000» + строка, ДоДлины) 🙂
А вообще, для таких вещей придуман Формат()
Как добавить символ в строку
Argument ‘Topic id’ is null or empty
Сейчас на форуме
© Николай Павлов, Planetaexcel, 2006-2023
info@planetaexcel.ru
Использование любых материалов сайта допускается строго с указанием прямой ссылки на источник, упоминанием названия сайта, имени автора и неизменности исходного текста и иллюстраций.
| ООО «Планета Эксел» ИНН 7735603520 ОГРН 1147746834949 |
ИП Павлов Николай Владимирович ИНН 633015842586 ОГРНИП 310633031600071 |
Как вставить символ в строку python?
Как вставить символ по определенному индексу в строку?
- Вопрос задан более трёх лет назад
- 25449 просмотров
Комментировать
Решения вопроса 2

Сергей Карбивничий @hottabxp Куратор тега Python
Сначала мы жили бедно, а потом нас обокрали..
Можно использовать срезы:
a = 'bigben' print(a[:3],'.',a[3:],sep='') >>> big.ben
или так: print(f’.’)
Ответ написан более трёх лет назад
Нравится 2 1 комментарий
Сергей Ильин @sunsexsurf
вообще, задание похоже на энтерпрайзный хеллоу-ворлд. Типа, ну ок, ф-строки — норм, теперь давайте регулярками разобъем. Или как-то еще мэтчить будем ))

Тимур Покровский @Makaroshka007
Ответ написан более трёх лет назад
Комментировать
Нравится 1 Комментировать
Ответы на вопрос 1
*новое слово*=слово[:позиция-1]+’.’+слово[позиция:]
word = ‘bigben’
position = 3
new_word = word[:position — 1] + ‘.’ + word[position:]
Ответ написан более трёх лет назад
Комментировать
Нравится Комментировать
Ваш ответ на вопрос
Войдите, чтобы написать ответ

- Python
- +1 ещё
Error Connecting: HTTPSConnectionPool(host=’url’, port=443) как решить?
- 1 подписчик
- 2 часа назад
- 10 просмотров