【发布时间】:2010-01-03 22:35:52
【问题描述】:
函数原型是:
string f (string s);
或
char* f (char* s);
f 会将可打印的 ascii 字符表示的字符串转换为原始字符串。
它的行为如下例所示:
f("AAA") = "AAA"
f("AA\n") = "AA+line_feed"
即输入字符串为 4 字符长(+ NULL),输出为 3 字符长(+NULL)。 2 个可打印字符 '\' 'n'(输入字符串的最后 2 个字符)被一个 LF 字符(ascii 10)替换
f("\0x007") 返回一个长度为 1 的字符串,其中包含 char ascii 7
f("AA\nAA\tAA\07\n") 会将所有这些转义字符转换为它们的真实(每个转义序列 1 个字符)等价物。
这必须存在,至少 C 编译器/C 预处理器会这样做。
/C
【问题讨论】:
-
这是作业吗?到目前为止,您尝试过什么?
-
来吧:在你问问题之前尝试一下。这只是纯粹的懒惰。
-
NULL是空指针常量。"AAA"不是“4 char long +NULL”,它是 C 中的“字符串”(以零结尾的字符序列)。 0 也是 ASCIINUL,但在这种情况下您对NULL的使用是错误的。