在尝试将命令参数传递给我的Visual C ++ 2010 Express上的C程序时,我遇到了奇怪的麻烦。
如果我把它作为参数写出来,那么一切似乎都很完美:a b
。这使得他看到“a”是第一个参数而“b”是第二个(知道它,我正在观看argv数组),使用空格字符作为分隔符。
但如果我试试这个:
C:\桌面\ pacoteprincipal \ EP2-AED2 \ “arq1.txt” C:\桌面\ pacoteprincipal \ EP2-AED2 \ “arq2.txt”
,我的程序的有用的东西,它将整个句子视为第一个参数,第二个参数什么都没有收到。请注意,“arq1.txt”和C:\
之间有一个空格字符有人知道发生了什么事吗?我不认为这是我的程序的一些问题,因为断点位于main方法的第一行。
我在Windows XP上。
答案 0 :(得分:0)
双引号("
)将其抛弃。
C:\Desktop\pacoteprincipal\EP2-AED2\"arq1.txt" ^ ^ C:\Desktop\pacoteprincipal\EP2-AED2\"arq2.txt" ^ ^
如果他们有必要,请尝试以下方法:
C:\Desktop\pacoteprincipal\EP2-AED2\\"arq1.txt\" C:\Desktop\pacoteprincipal\EP2-AED2\\"arq2.txt\"
在每个\
之前注意"
。这称为转义。
如果他们没有必要,请将其删除:
C:\Desktop\pacoteprincipal\EP2-AED2\arq1.txt C:\Desktop\pacoteprincipal\EP2-AED2\arq2.txt