In C and C++ (and several other languages) horizontal tabulators (ASCII code 9) in character and string constants are denoted in escaped form as '\t'
and "\t"
. However, I am regularly typing the unescaped tabulator character in string literals as for example in "A B"
(there is a TAB in betreen A
and B
), and at least clang++ does not seem to bother - the string seems to be equivalent to "A\tB"
. I like the unescaped version better since long indented multi-line strings are better readable in the source code.
Now I am asking myself whether this is generally legal in C and C++ or just supported by my compiler. How portable are unescaped tabulators in character and string constants?
Surprisingly I could not find an answer to this seemingly simple question, neither with Google nor on stackoverflow (I just found this vaguely related question).