Строки в С++
- Библиотека обработки строк Библиотека обработки строк string.h. Примеры: Конкатенация строк, Поиск символов.
Строковая константа - это последовательность из нуля или более символов, заключенных в кавычки. Кавычки не являются частью строковой константы, а служат только для ее ограничения. Строки представляются в виде массива элементов типа char. Это означает, что символы строки можно представить расположенными в соседних ячейках памяти - по одному символу в ячейке.
Но массив символов - не всегда строка!
Не следует путать символьную константу со строкой, содержащей один символ: 'Х' - это не то же самое, что "Х". В первом случае - это отдельный символ. Во втором случае - это строка, состоящая из одного символа (буквы Х) и символа конца строки '\0'.
Правила инициализации строковых массивов
#include <iostream>
using namespace std;
int n=5;
char line[] = "Cat!"; // Инициализация строкового массива.
void main ()
{
cout << "Word: ";
// Показ на экран строкового массива.
cout <<line;
}
Строки и указатели
В программе доступ к строке осуществляется с помощью указателя на символ. Если описать переменную message как
char *message;
то в результате выполнения оператора
message = "and bye!";
message станет указателем на строку.
#include <iostream>
using namespace std;
int main ()
{
char *message;
char privet[] = "and bye!";
char *pr = privet;
message = "Hello";
cout << " " << message << " " << pr << "\n";
int i = 0;
while (*(pr+i)!='\0')
{
cout<< *(pr+i++) << " ";
}
}
Использование указателей часто применяется при работе с массивом строк. В этом случае к каждой строке можно обратиться с помощью указателя на его первый символ. Это удобно тем, что для перестановки двух строк, расположенных в неправильном порядке, фактически достаточно переставить указатели в массиве указателей, а не сами строки.
Рассматривается функция month_name(), которая возвращает указатель на строку, содержащий имя n-го месяца. Это типичная задача для использования строкового массива.
Функция month_name() содержит локальный массив строк и при обращении к ней возвращает указатель на нужную строку.
В описании массива указателей на символы name[] инициализатором является просто список строк. Символы i-й строки помещаются в определенное место памяти, а указатель на ее начало хранится в элементе name[i]. Поскольку размер массива name не указан, компилятор сам подсчитывает количество инициализаторов и соответственно устанавливает правильное число.
#include <iostream>
using namespace std;
char *month_name(int);
int main ()
{
const int n=15;
for (int i=0; i < n; i++)
cout << "Month number " << i << " - " << month_name(i) <<"\n";
}
char *month_name (int k) /* Название k-го месяца */
{
static char *name[] = {
"none","January",
"February","March","April",
"May","June","July","August",
"September","October","November",
"December"
};
return (k<1||k>12)?name[0]:name[k];
}
Результат работы программы:
Month number 0 - none Month number 1 - January Month number 2 - February Month number 3 - March Month number 4 - April Month number 5 - May Month number 6 - June Month number 7 - July Month number 8 - August Month number 9 - September Month number 10 - October Month number 11 - November Month number 12 - December Month number 13 - none Month number 14 - none Press any key to continue
📌 Удобный подбор VPS по параметрам доступен на DIEGfinder.com - официальном инструменте проекта DIEG. Это часть единой экосистемы, созданной для того, чтобы помочь быстро найти подходящий VPS/VDS сервер для любых задач хостинга.
📌 Для тестирования скриптов, установщиков VPN и Python-ботов рекомендуем использовать надежные VPS на короткий срок. Подробнее о быстрой аренде VPS для экспериментов - читайте здесь.
💥 Подпишись в Телеграм 💥 и задай вопрос по сайтам и хостингам бесплатно!7 Самых Популярных Статей
- Как запустить скрипты и веб-приложения на Python
- Что такое страны TIER 1,2,3
- 7 способов сравнения файлов по содержимому в Windows или Linux
- Установка и тестирование веб-панели HestiaCP
- Nginx простые примеры конфигурации
- top, htop, atop определение загрузки ОС (Load average, LA)
- Использование rsync в примерах
7 Самых Популярных Обзоров
- Хостинг для Python-скриптов и приложений
- ТОП 4 лучших антидетект браузеров (Бесплатные & Платные)
- Подборка купонов (промокоды) на хостинг, антидетект браузеры
- Обзор THE.Hosting (PQ Hosting): надежный хостинг с профессиональной поддержкой
- Хостинг в России
- Хостинг в Европе
- Обзор браузера Dolphin {anty} для мультиаккаунтинга