VisualStudio调试中命令参数含有%时的乱码问题(转)

问题描述:
调试的程序需要通过命令行传递一个含有"%06d"的参数"longdress_vox10_1300-%06d.ply"进去,但是运行程序以后发现"%06"变为乱码,无法正确给程序传递参数。

解决办法:
1. 对参数urlEncode
查阅资料[1]发现VS调试中的命令参数在部分情况下会进行urlDecode[2],例如

原始字符为: %06d

urlEncode:  %2506d

因此可以将乱码的参数先进行urlEncode编码,然后将编码结果作为要传递给程序的参数使用,即

longdress_vox10_1300-%2506d.ply

 2. 将%使用""包含起来
尝试发现%可能作为一种特殊控制符使用,所以影响到了后面的参数值,因此使用"%"便可以直接以字符形式将%传递给程序,输入的参数如下:

longdress_vox10_1300-"%"06d.ply

[1] https://blog.csdn.net/int_tulip/article/details/54949615

[2] UrlEncode编码/UrlDecode解码 - 站长工具
————————————————
版权声明:本文为CSDN博主「黑白灰12345」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/a386115360/article/details/119055001

你可能感兴趣的:(编译器,vs,调试,命令参数,百分号,乱码)