Строки байтов с нулевым завершением
Строка байтов с нулевым завершением (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 | \172–\176 | {|}~ | 0 |
≠0 | 0 | 0 |
≠0 |
≠0 | 0 | 0 | 0 | 0 | 0 | 0 |
| 127 | \x7F | \177 | backspace character (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) | возвращает текстовое представление заданного кода ошибки (функция) |
Ссылки
- Стандарт C11 (ISO/IEC 9899:2011):
- 7.4 Обработка символов <ctype.h> (с. 200-204)
- 7.8 Преобразование формата целых типов <inttypes.h> (с. 217-220)
- 7.22 Общие утилиты <stdlib.h> (с. 340-360)
- 7.24 Обработка строк <string.h> (с. 362-372)
- 7.31.2 Обработка символов <ctype.h> (с. 455)
- 7.31.5 Преобразование формата целых типов <inttypes.h> (с. 455)
- 7.31.12 Общие утилиты <stdlib.h> (с. 456)
- 7.31.13 Обработка строк <string.h> (с. 456)
- K.3.6 Общие утилиты <stdlib.h> (с. 604-613)
- K.3.7 Обработка строк <string.h> (с. 614-623)
- Стандарт C99 (ISO/IEC 9899:1999):
- 7.4 Обработка символов <ctype.h> (с. 181-185)
- 7.8 Преобразование формата целых типов <inttypes.h> (с. 198-201)
- 7.20 Общие утилиты <stdlib.h> (с. 306-324)
- 7.21 Обработка строк <string.h> (с. 325-334)
- 7.26.2 Обработка символов <ctype.h> (с. 401)
- 7.26.4 Преобразование формата целых типов <inttypes.h> (с. 401)
- 7.26.10 Общие утилиты <stdlib.h> (с. 402)
- 7.26.11 Обработка строк <string.h> (с. 402)
- Стандарт C89/C90 (ISO/IEC 9899:1990):
- 4.3 ОБРАБОТКА СИМВОЛОВ <ctype.h>
- 4.10 ОБЩИЕ УТИЛИТЫ <stdlib.h>
- 4.11 ОБРАБОТКА СТРОК <string.h>
- 4.13.2 Обработка символов <ctype.h>
- 4.13.7 Общие утилиты <stdlib.h>
- 4.13.8 Обработка строк <string.h>
См. также
Документация C++ для Null-завершённых байтовых строк |
© cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
https://en.cppreference.com/w/c/string/byte