Какова C-escape-последовательность для заготовок? - PullRequest
17 голосов
/ 22 июля 2010

Я пишу программу для подсчета пробелов, вкладок и новых строк.Я помню, что такое escape-последовательность для табуляции и перевода строки, но как насчет пробелов?\ Б?Или это забой?

Ответы [ 5 ]

20 голосов
/ 22 июля 2010

Вы имеете в виду "заготовки", как в "a b"?Это пробел: ' '.

Вот список escape-последовательностей для справки.

6 голосов
/ 22 июля 2010

Если вы хотите проверить, является ли символ пробелом, вы можете использовать функцию isspace() из <ctype.h>. В языковом стандарте C по умолчанию проверяются пробел, табуляция, подача формы, перевод строки, возврат каретки и вертикальная табуляция.

3 голосов
/ 17 октября 2018

Пробел - это просто ' ', в шестнадцатеричном виде он хранится как 20, что является целочисленным эквивалентом 32. Например:

if (a == ' ')

Проверяет целое число 32. Аналогично:

if (a == '\n')

Проверяет целое число 10, так как \n равно 0A в шестнадцатеричном формате, которое является целым числом 10. Вот остальные наиболее распространенные escape-последовательности и их шестнадцатеричные и целочисленные аналоги:

code: │   name:                │Hex to integer:
──────│────────────────────────│──────────────
\n    │  # Newline             │  Hex 0A = 10
\t    │  # Horizontal Tab      │  Hex 09 = 9
\v    │  # Vertical Tab        │  Hex 0B = 11
\b    │  # Backspace           │  Hex 08 = 8
\r    │  # Carriage Return     │  Hex 0D = 13
\f    │  # Form feed           │  Hex 0C = 12
\a    │  # Audible Alert (bell)│  Hex 07 = 7
\\    │  # Backslash           │  Hex 5C = 92
\?    │  # Question mark       │  Hex 3F = 63
\'    │  # Single quote        │  Hex 27 = 39
\"    │  # Double quote        │  Hex 22 = 34
' '   │  # Space/Blank         │  Hex 20 = 32
2 голосов
/ 22 июля 2010

\b - возврат (ASCII 0x8). Вам не нужен побег для обычного пространства (ASCII 0x20). Вы можете просто использовать ' '.

1 голос
/ 22 июля 2010

'\ b' - это возврат, и вам не нужна escape-последовательность для пробелов, так как '' будет хорошо.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...