在 C 中转义一个 char *
Escaping a char * in C
几天前我不得不为一个小程序做一些东西,我需要将像 "foo\n"
这样的字符串转换成它的字符串化形式(类似于 "\"foo\n\""
)。
但我一无所获,所以我最终编写了自己的函数(并且运行良好)。但我仍然想知道:是否有像这样对字符串进行字符串化的函数?
我知道 python 等价物 "%r" % strtostringify
,我知道我可以在使用预处理器指令编译时精简代码片段:
#define TOSTRING(X) #X
#define STRINGIFY(X) TOSTRING(X)
但是有没有办法在 C
中动态生成它?
任何标准 c 函数均未提供转义特殊字符。
对于GPL,你可以看看standard c library for escaping a string。
几天前我不得不为一个小程序做一些东西,我需要将像 "foo\n"
这样的字符串转换成它的字符串化形式(类似于 "\"foo\n\""
)。
但我一无所获,所以我最终编写了自己的函数(并且运行良好)。但我仍然想知道:是否有像这样对字符串进行字符串化的函数?
我知道 python 等价物 "%r" % strtostringify
,我知道我可以在使用预处理器指令编译时精简代码片段:
#define TOSTRING(X) #X
#define STRINGIFY(X) TOSTRING(X)
但是有没有办法在 C
中动态生成它?
任何标准 c 函数均未提供转义特殊字符。
对于GPL,你可以看看standard c library for escaping a string。