Прототип функции будет:Как преобразовать строку C/C++ с экранирующим символом на равнину (сырая) Строка
string f (string s);
или
char* f (char* s);
е трансформирует строку, представленную Printable ascii char в необработанную строку.
и было бы ведут себя, как в следующих примерах:
f("AAA") = "AAA"
f("AA\n") = "AA+line_feed"
т.е. входная является строкой 4 символа длиной (+ NULL), выход 3 символа длиной (+ NULL). В 2 печатные символы «\» «N» (в 2 последних символов входной строки) заменяются на один одиночный символ LF (ASCII 10)
f("\0x007")
возвращает строку длины 1, содержащей символ ASCII 7
f("AA\nAA\tAA\07\n")
преобразует все эти элементы escape-символа в их реальный (1 символ на escape-последовательность).
Это должно существовать, по крайней мере, в препроцессоре C-компилятора/C.
/C
Это домашнее задание? что ты уже испробовал? – Glen
Давай: попробуй, прежде чем задавать вопрос. Это просто чистая ленивость. –
'NULL' - константа нулевого указателя. '' AAA "' не "4 char long +' NULL', это «строка» в C (последовательность символов с нулевым окончанием). 0 также является ASCII 'NUL', но ваше использование' NULL' в этом случае неверно. –