СИМВОЛЬНЫЕ СТРОКИ С++
ОБЪЯВЛЕНИЕ СИМВОЛЬНЫХ СТРОК В ПРОГРАММАХ В C++ символьные строки хранятся в массиве типа char, который заканчивается символом NULL (или ASCII 0).
Чтобы объявить символьную строку, вы должны объявить массив типа char. char message[64]; Главное различие между символьными строками и другими типами массивов заключается в том, как C++ указывает последний элемент массива, Программы на C++ представляют конец символьной строки с помощью символа NULL (ASCII 0), который в C++ изображается как специальный символ '\0'.
Чтобы присвоить символы символьной строке, ваша программа просто присваивает символы элементам массива символьных строк. char message[7] = "Hello!; message[0] = 'H'; message[1] = 'e'; message[2] = 'l'; message[3] = 'l'; message[4] = 'o'; message[5] = '!'; message[6] = \0;
ОБРАТИТЕ ВНИМАНИЕ! При объявлении символьной строки в программе следует учитывать завершающий символ NULL. Например если у вас трока состоит из 10 символов то в размерности следует добавить ещё одну позицию под /0 mas[11] = "Hello all! размерность = длинна строки + 1 Конечно можно присвоить массиву размерностью [5] целое предложение, но при этом программа начнёт выделять память под остальные символы, затирая данные в ОЗУ. Что может плохо отразится на работе программы и других приложений.
ПЕРЕДАЧА СТРОК В ФУНКЦИИ Передача символьной строки в функцию подобна передаче любого массива в качестве параметра. Внутри функции вам нужно просто указать тип массива (char)
ИСПОЛЬЗОВАНИЕ СТРОКОВЫХ ФУНКЦИЙ Большинство компиляторов C++ обеспечивает обширный набор функций, называемых библиотекой этапа выполнения. Она содержат много разных функций, манипулирующих строками. #include
Примеры некоторых функций char *strchr(char *s, int ch) – ищет символ в строке Функция возвращает указатель на первое вхождение символа ch в строку s, если его нет возвращает null int *strcmp(char *s1, char *s2) – Сравнивает строки Возвращает отрицательное число если (s1 < s2), ноль Если (s1 == s2) или положительное если (s1 > s2) Char *strcpy(char *s1, char *s2) – Копирует S2 в S1 и возвращает S1
size_t strlen(char *s) – Возвращает длину строки без учёта символа завершения itoa(int a, char buffer, int b) – Преобразует число в заданную систему счисления. а – само число, b – система счисления от 2 до 32. buffer – буфер для хранения результата.