Строки байтов с нулевым завершающим символом
Строка байтов с нулевым завершающим символом (NTBS) — это последовательность ненулевых байтов, за которой следует байт со значением ноль (завершающий нулевой символ). Каждый байт в строке байтов кодирует один символ некоторого набора символов. Например, массив символов {'\x63','\x61','\x74','\0'} — это NTBS, содержащая строку "cat" в кодировке ASCII.
Функции
Классификация символов |
|
Определено в заголовке <ctype.h> |
|
|---|---|
| проверяет, является ли символ буквенно-цифровым (функция) |
|
| проверяет, является ли символ буквой (функция) |
|
| проверяет, является ли символ строчной буквой (функция) |
|
| проверяет, является ли символ прописной буквой (функция) |
|
| проверяет, является ли символ цифрой (функция) |
|
| проверяет, является ли символ шестнадцатеричным символом (функция) |
|
| проверяет, является ли символ управляющим символом (функция) |
|
| проверяет, является ли символ графическим символом (функция) |
|
| проверяет, является ли символ пробельным символом (функция) |
|
|
(C99) | проверяет, является ли символ пробелом или табуляцией (функция) |
| проверяет, является ли символ печатным символом (функция) |
|
| проверяет, является ли символ знаком пунктуации (функция) |
|
Преобразование символов |
|
| преобразует символ в строчную букву (функция) |
|
| преобразует символ в прописную букву (функция) |
|
Примечание: в будущем в заголовок <ctype.h> могут быть добавлены дополнительные функции, имена которых начинаются с to или is, за которыми следует строчная буква. Программы, подключающие этот заголовок, не должны определять такие функции.
| Значения 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 |
\173–\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 |
Преобразования в числовые форматы и обратно |
|
Определено в заголовочном файле <stdlib.h> |
|
|---|---|
| преобразует байтовую строку в значение с плавающей точкой (функция) |
|
|
(C99) | преобразует байтовую строку в целочисленное значение (функция) |
|
(C99) | преобразует байтовую строку в целочисленное значение (функция) |
|
(C99) | преобразует байтовую строку в беззнаковое целочисленное значение (функция) |
|
(C99)(C99) | преобразует байтовую строку в значение с плавающей точкой (функция) |
|
(C23)(C23)(C23) | преобразует значение с плавающей точкой в байтовую строку (функция) |
Определено в заголовочном файле <inttypes.h> |
|
|
(C99)(C99) | преобразует байтовую строку в intmax_t или uintmax_t (функция) |
Обработка строк |
|
Определено в заголовочном файле <string.h> |
|
|
(C11) | копирует одну строку в другую (функция) |
|
(C11) | копирует заданное количество символов из одной строки в другую (функция) |
|
(C11) | объединяет две строки (функция) |
|
(C11) | объединяет заданное количество символов двух строк (функция) |
| преобразует строку так, чтобы strcmp возвращала тот же результат, что и strcoll (функция) |
|
|
(C23) | выделяет память для копии строки (функция) |
|
(C23) | выделяет память для копии строки заданного размера (функция) |
Исследование строк |
|
Определено в заголовочном файле <string.h> |
|
|
(C11) | возвращает длину заданной строки (функция) |
| сравнивает две строки (функция) |
|
| сравнивает заданное количество символов двух строк (функция) |
|
| сравнивает две строки в соответствии с текущей локалью (функция) |
|
| находит первое вхождение символа (функция) |
|
| находит последнее вхождение символа (функция) |
|
| возвращает длину максимального начального сегмента, состоящего только из символов, присутствующих в другой байтовой строке (функция) |
|
| возвращает длину максимального начального сегмента, состоящего только из символов, отсутствующих в другой байтовой строке (функция) |
|
| находит в одной строке первое вхождение любого символа из другой строки (функция) |
|
| находит первое вхождение подстроки (функция) |
|
|
(C11) | находит следующий токен в байтовой строке (функция) |
Обработка массивов символов |
|
Определено в заголовочном файле <string.h> |
|
| ищет первое вхождение символа в массиве (функция) |
|
| сравнивает два буфера (функция) |
|
|
(C23)(C11) | заполняет буфер символом (функция) |
|
(C11) | копирует один буфер в другой (функция) |
|
(C11) | перемещает данные из одного буфера в другой (функция) |
|
(C23) | копирует один буфер в другой, останавливаясь после заданного разделителя (функция) |
Разное |
|
Определено в заголовочном файле <string.h> |
|
|
(C11)(C11) | возвращает текстовое описание заданного кода ошибки (функция) |
Ссылки
| Дополнительная информация |
|---|
|
См. также
Документация по C++ для строк байтов, завершающихся Null |
© cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
https://en.cppreference.com/c/string/byte