Control characters:
(Hex codes assume an ASCII-compatible character encoding.)
\a
=\x07
= alert (bell)\b
=\x08
= backspace\t
=\x09
= horizonal tab\n
=\x0A
= newline (or line feed)\v
=\x0B
= vertical tab\f
=\x0C
= form feed\r
=\x0D
= carriage return\e
=\x1B
= escape (non-standard GCC extension)
Punctuation characters:
\"
= quotation mark (backslash not required for'"'
)\'
= apostrophe (backslash not required for"'"
)\?
= question mark (used to avoid trigraphs)\\
= backslash
Numeric character references:
\
+ up to 3 octal digits\x
+ any number of hex digits\u
+ 4 hex digits (Unicode BMP, new in C++11)\U
+ 8 hex digits (Unicode astral planes, new in C++11)
\0
= \00
= \000
= octal ecape for null character
If you do want an actual digit character after a \0
, then yes, I recommend string concatenation. Note that the whitespace between the parts of the literal is optional, so you can write "\0""0"
.