前些时间做了一个Windows的命令行程序,由于输入的参数可以含有特殊字符,所以对Windows的Command Prompt切参数规则做了些调查,在此和大家分享一下:)
Windows命令行,参数的转义分为两个步骤: 第一个步骤是cmd解析你输入的字符串决定要启动哪些进程,进程之间是否要标准输入输出重定向等等; 第二个步骤是CRT把传入进程的命令行字符串切成多个参数,填好argc和argv传入main函数。
第一个步骤中,| ^ ” &等字符是特殊字符。如果特殊字符出现在双引号外,需要被转义。但如果出现在双引号中,就不需要也不能被转义。转义时,^^代表^,^|代表|,^”代表”等等。
Read More
Recent Comments