读书人

linux main中参数传入?有关问题

发布时间: 2013-09-28 10:01:20 作者: rapoo

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 "?"
转义下

读书人网 >UNIXLINUX

热点推荐