我想从命令行捕获特殊字符,例如\ n到C程序中。例如,对于下面的程序,如果我运行./a.out“\ nfoo \ n”,我想打印(换行符)foo(换行符)而不是“\ nfoo \ n”。我如何捕获到一个字符串?C:如何将命令行的特殊字符捕获到一个字符串中
#include <stdio.h>
#include <string.h>
int main(int argc, char ** argv){
if(argc >1){
char * s = strdup(argv[1]);
printf("%s\n", s);
free(s);
}
return 0;
}
编辑:对不起,通过(新行),富(新行),我的意思是acutal输出
富
目前,输出是字面意思是 “\ NABC \ n”(换行。不会打印,因为s会捕获“\ n”2个字符而不是'\ n'字符)。对此感到抱歉。
是。澄清一下,没有库函数可以为你做,所以你必须自己做。例如,如果您在字符串中找到\,然后是't',则输出一个制表符char。像这样的东西;你必须把它拼出来。 – 2012-02-21 21:17:07