我尝试编写具有命令行参数作为输入的程序。当我在cmd中的引号内使用命令行参数时,如
g++ -o filename.exe filename.cpp // for compiling
和
filename.exe "2 -1 0 2 -3" // run command
答案不正确。但是当我使用
时 g++ -o filename.exe filename.cpp // for compiling
filename.exe 2 -1 0 2 -3 // run command
答案是正确的......为什么会发生......有人可以建议一些事情来纠正它......我用c ++代码和cmd进行编译和运行测试。
答案 0 :(得分:1)
您传递了由空格分隔的所有命令行参数,但是如果 参数本身有一个空格,然后你可以传递这样的参数 将它们放在双引号"" 或单引号'' 。
所以
"2 -1 0 2 -3" // One argument
,而
2 -1 0 2 -3 // Five arguments
你可以将它们组合起来
"2 -1 0" 2 -3 // Three arguments
使用main()
函数参数处理命令行参数,其中argc表示传递的参数数量,argv []是指向传递给程序的每个参数的指针数组。
int main(int argc, char *argv[]) { ... }
argv[0]
始终是程序名称。在您的情况下filename.exe
。