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