Строки байтов с нулевым терминатором
Строка байтов с нулевым терминатором (NTBS) — это, возможно, пустая последовательность ненулевых байтов, за которой следует байт со значением ноль (завершающий нулевой символ). Каждый байт в строке байтов кодирует один символ некоторого набора символов. Например, массив символов {'\x63', '\x61', '\x74', '\0'} — это NTBS, содержащая строку "cat" в кодировке ASCII.
Функции
Классификация символов |
|
Определено в заголовке <cctype> |
|
|---|---|
| проверяет, является ли символ буквенно-цифровым (функция) |
|
| проверяет, является ли символ буквой (функция) |
|
| проверяет, является ли символ строчной буквой (функция) |
|
| проверяет, является ли символ прописной буквой (функция) |
|
| проверяет, является ли символ цифрой (функция) |
|
| проверяет, является ли символ шестнадцатеричной цифрой (функция) |
|
| проверяет, является ли символ управляющим символом (функция) |
|
| проверяет, является ли символ графическим символом (функция) |
|
| проверяет, является ли символ пробельным символом (функция) |
|
|
(C++11) | проверяет, является ли символ пробельным символом-разделителем (функция) |
| проверяет, является ли символ печатным (функция) |
|
| проверяет, является ли символ знаком пунктуации (функция) |
|
Преобразование символов |
|
| преобразует символ в строчную букву (функция) |
|
| преобразует символ в прописную букву (функция) |
|
| Значения ASCII | символы | ||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| десятичное | шестнадцатеричное | восьмеричное | |||||||||||||
| 0–8 |
\x0–\x8 |
\0–\10 | управляющие коды (NUL и т. д.) |
≠0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
| 9 |
\x9 |
\11 | табуляция (\t) |
≠0 |
0 |
≠0 |
≠0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
| 10–13 |
\xA–\xD |
\12–\15 | пробельные символы (\n, \v, \f, \r) |
≠0 |
0 |
≠0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
| 14–31 |
\xE–\x1F |
\16–\37 | управляющие коды |
≠0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
| 32 |
\x20 |
\40 | пробел |
0 |
≠0 |
≠0 |
≠0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
| 33–47 |
\x21–\x2F |
\41–\57 |
!"#$%&'()*+,-./ |
0 |
≠0 |
0 |
0 |
≠0 |
≠0 |
0 |
0 |
0 |
0 |
0 |
0 |
| 48–57 |
\x30–\x39 |
\60–\71 |
0123456789 |
0 |
≠0 |
0 |
0 |
≠0 |
0 |
≠0 |
0 |
0 |
0 |
≠0 |
≠0 |
| 58–64 |
\x3A–\x40 |
\72–\100 |
:;<=>?@ |
0 |
≠0 |
0 |
0 |
≠0 |
≠0 |
0 |
0 |
0 |
0 |
0 |
0 |
| 65–70 |
\x41–\x46 |
\101–\106 |
ABCDEF |
0 |
≠0 |
0 |
0 |
≠0 |
0 |
≠0 |
≠0 |
≠0 |
0 |
0 |
≠0 |
| 71–90 |
\x47–\x5A |
\107–\132 |
GHIJKLMNOPQRSTUVWXYZ |
0 |
≠0 |
0 |
0 |
≠0 |
0 |
≠0 |
≠0 |
≠0 |
0 |
0 |
0 |
| 91–96 |
\x5B–\x60 |
\133–\140 |
[\]^_` |
0 |
≠0 |
0 |
0 |
≠0 |
≠0 |
0 |
0 |
0 |
0 |
0 |
0 |
| 97–102 |
\x61–\x66 |
\141–\146 |
abcdef |
0 |
≠0 |
0 |
0 |
≠0 |
0 |
≠0 |
≠0 |
0 |
≠0 |
0 |
≠0 |
| 103–122 |
\x67–\x7A |
\147–\172 |
ghijklmnopqrstuvwxyz |
0 |
≠0 |
0 |
0 |
≠0 |
0 |
≠0 |
≠0 |
0 |
≠0 |
0 |
0 |
| 123–126 |
\x7B–\x7E |
\172–\176 |
{|}~ |
0 |
≠0 |
0 |
0 |
≠0 |
≠0 |
0 |
0 |
0 |
0 |
0 |
0 |
| 127 |
\x7F |
\177 | символ возврата на одну позицию (DEL) |
≠0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
Преобразования в числовые форматы |
|
Определено в заголовочном файле <cstdlib> |
|
|---|---|
| преобразует байтовую строку в значение с плавающей точкой (функция) |
|
|
(C++11) | преобразует байтовую строку в целочисленное значение (функция) |
|
(C++11) | преобразует байтовую строку в целочисленное значение (функция) |
|
(C++11) | преобразует байтовую строку в беззнаковое целочисленное значение (функция) |
| преобразует байтовую строку в значение с плавающей точкой (функция) |
|
|
(C++26)(C++26)(C++26) | преобразует значение с плавающей точкой в байтовую строку (функция) |
Определено в заголовочном файле <cinttypes> |
|
|
(C++11)(C++11) | преобразует байтовую строку в std::intmax_t или std::uintmax_t (функция) |
Манипуляции со строками |
|
Определено в заголовочном файле <cstring> |
|
| копирует одну строку в другую (функция) |
|
| копирует заданное количество символов из одной строки в другую (функция) |
|
| объединяет две строки (функция) |
|
| объединяет заданное количество символов из двух строк (функция) |
|
преобразует строку так, чтобы strcmp возвращала тот же результат, что и strcoll (функция) |
|
|
(C++26) | выделяет память для копии строки (функция) |
|
(C++26) | выделяет память для копии строки заданного размера (функция) |
Проверка строк |
|
Определено в заголовочном файле <cstring> |
|
| возвращает длину заданной строки (функция) |
|
| сравнивает две строки (функция) |
|
| сравнивает заданное количество символов двух строк (функция) |
|
| сравнивает две строки с учётом текущей локали (функция) |
|
| находит первое вхождение символа (функция) |
|
| находит последнее вхождение символа (функция) |
|
| возвращает длину наибольшего начального сегмента, состоящего только из символов, найденных в другой байтовой строке (функция) |
|
| возвращает длину наибольшего начального сегмента, состоящего только из символов, отсутствующих в другой байтовой строке (функция) |
|
| находит первое вхождение любого символа из набора разделителей (функция) |
|
| находит первое вхождение подстроки (функция) |
|
| находит следующий токен в байтовой строке (функция) |
|
Функции для массивов символов |
|
Определено в заголовочном файле <cstring> |
|
| ищет первое вхождение символа в массиве (функция) |
|
| сравнивает два буфера (функция) |
|
|
(C++26) | заполняет буфер символом (функция) |
| копирует один буфер в другой (функция) |
|
| перемещает один буфер в другой (функция) |
|
|
(C++26) | копирует один буфер в другой, останавливаясь после указанного разделителя (функция) |
Разное |
|
Определено в заголовочном файле <cstring> |
|
| возвращает текстовое описание заданного кода ошибки (функция) |
|
См. также
Документация по C для байтовых строк, завершающихся Null |
© cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
https://en.cppreference.com/cpp/string/byte