日期:2014-05-16  浏览次数:20569 次

linux main中参数传入?问题
正常情况下将?作为参数传给main,其输入printf打印为?,但是我的工程中,现在传入参数?,打印出来的确是p。有谁知道原因,有什么原因可以影响传入参数的值。
linux 参数传入

------解决方案--------------------
看你的运行目录下是不是有一个名字为p的文件??

或者试试这样执行
./a.out "?"
------解决方案--------------------

$] touch p
$] ./a.out ?
argv[1]=p
$] ./a.out "?"
argv[1]=?
$] rm p
$] touch q
$] ./a.out ?
argv[1]=q



看来确实是?被替换造成的。
这个应该是shell的特性。
问号,匹配单个字符。
------解决方案--------------------
./a.out \? 或者./aout "?"
转义下