如何使用命令行参数,命令行到底是干什么用的?有什么实际意义吗?

时间:2021-11-26 14:31:08
#include <iostream.h>

void main (int argc, char* argv[])
{
while (*argv)
{
int i = 0;
cout << "argc"<< i << ":" << *argv++ << endl;
}
}
这是我抄的源代码。为什么结果是这样呢: 
argc0:C:\Documents and Settings\Administrator\桌面\杨小颖\2009\Debug\class.exe
Press any key to continue
实际结果好象应该是自己输入,然后再输出吧? 
怎么才能输入数据然后再输出呢?
比如说输入“how are you"
还请高手指教,最好写出步骤!
详细一点....

15 个解决方案

#1


http://zhidao.baidu.com/question/1965338.html
如何运行带参数的main函数,win下。

#2


http://topic.csdn.net/u/20070207/20/da27aa02-57eb-4816-b121-a5607195d1c2.html?965310391
CSDN上类似帖子蛮多

#3


argv有默认的参数的

#4


主函数的实参是可选的,用来确定程序要执行的操作。比如,假设主函数位于名为prog的可执行文件中,可如下将实参选项传递给程序:

prog -d -o ofile data0

这种用法的处理方法实际上是在主函数main中定义来了两个形参:

int main(int argc , char* argv[]){…}

第二个形参是一个C风格字符串数组。第一个形参argc则用于传递概述组中字符串的个数。由于第二个参数是一个数组,主函数main也可以这样定义:

int main(int argc, char** argv[]{……}

表示argv是只想char*的指针。

    当将实参传递给主函数main时,argv中的第一个字符串(如果有的话)通常是程序的名字。接下来的元素间格外的可选字符串传递给主函数main。以前面的命令行为例,argc应设为5,argv会保存下面几个风格的字符串:

argv[0]="prog";
argv[1]="-d";
argv[2]="-o";
argv[3]="ofile";
argv[4]="data0";

#5


    楼主的程序,由于没有对编译后生成的可执行程序(从输出结果来看,应该是class.exe,在文件夹C:\Documents and Settings\Administrator\桌面\杨小颖\2009\Debug里)输入参数,所以该程序会自动将本文件夹的名字作为参数输入,所以输出字符串即为该可执行文件的全路径名字(C:\Documents and Settings\Administrator\桌面\杨小颖\2009\Debug\class.exe)。

    如果想要输出理想的效果,可以在命令行方式下,进入C:\Documents and Settings\Administrator\桌面\杨小颖\2009\Debug文件夹,然后输入:
  class.exe "how are you" 
然后敲击回车即可。

    或者不用进入class.exe文件夹,直接在命令行方式输入:
  C:\Documents and Settings\Administrator\桌面\杨小颖\2009\Debug\class.exe "how are you"
效果也是一样的。

    希望对楼主有帮助。

#6


命令行在哪?
开始->运行->输入cmd->回车
然后输入什么?

#7


void main(int argc,char** argv),这个main函数第二个参数实际上指示的是参数列表,其中argv[0]是你的exe名称,然后argv[1]……argv[n]分别是你的参数名。

#8


引用 1 楼 hairetz 的回复:
http://zhidao.baidu.com/question/1965338.html 
如何运行带参数的main函数,win下。

楼主好好看看吧,当然是有用了!

#9


argv的第一个就是你的实际exe文件名

#10


wo 我是想输出how are you 怎么才能输出?

#11


引用 6 楼 cpp_yangzuoshi 的回复:
命令行在哪? 
开始->运行->输入cmd->回车 
然后输入什么?


然后输入:

C:\Documents and Settings\Administrator\桌面\杨小颖\2009\Debug\class.exe "how are you"

#12


还是不行!输出结果是:
'C:\Documents’不是内部或外部命令,也不是可运行的程序或批处理文件。
。。。。。。。。。。
????????????????????

#13


1.cmd
2.cd C:\Documents and Settings\Administrator\桌面\杨小颖\2009\Debug\
到C:\Documents and Settings\Administrator\桌面\杨小颖\2009\Debug\下,然后class.exe "how are you"

#14


如果是用VC的话,设一下IDE环境配置就可以调试了。

#15


还有,你那个源代码有点小问题,是逻辑错误,不是语法问题。

int i = 0;  //应该定义到while前面,这样比较合乎逻辑,要不有点奇怪,虽然不致出错

#1


http://zhidao.baidu.com/question/1965338.html
如何运行带参数的main函数,win下。

#2


http://topic.csdn.net/u/20070207/20/da27aa02-57eb-4816-b121-a5607195d1c2.html?965310391
CSDN上类似帖子蛮多

#3


argv有默认的参数的

#4


主函数的实参是可选的,用来确定程序要执行的操作。比如,假设主函数位于名为prog的可执行文件中,可如下将实参选项传递给程序:

prog -d -o ofile data0

这种用法的处理方法实际上是在主函数main中定义来了两个形参:

int main(int argc , char* argv[]){…}

第二个形参是一个C风格字符串数组。第一个形参argc则用于传递概述组中字符串的个数。由于第二个参数是一个数组,主函数main也可以这样定义:

int main(int argc, char** argv[]{……}

表示argv是只想char*的指针。

    当将实参传递给主函数main时,argv中的第一个字符串(如果有的话)通常是程序的名字。接下来的元素间格外的可选字符串传递给主函数main。以前面的命令行为例,argc应设为5,argv会保存下面几个风格的字符串:

argv[0]="prog";
argv[1]="-d";
argv[2]="-o";
argv[3]="ofile";
argv[4]="data0";

#5


    楼主的程序,由于没有对编译后生成的可执行程序(从输出结果来看,应该是class.exe,在文件夹C:\Documents and Settings\Administrator\桌面\杨小颖\2009\Debug里)输入参数,所以该程序会自动将本文件夹的名字作为参数输入,所以输出字符串即为该可执行文件的全路径名字(C:\Documents and Settings\Administrator\桌面\杨小颖\2009\Debug\class.exe)。

    如果想要输出理想的效果,可以在命令行方式下,进入C:\Documents and Settings\Administrator\桌面\杨小颖\2009\Debug文件夹,然后输入:
  class.exe "how are you" 
然后敲击回车即可。

    或者不用进入class.exe文件夹,直接在命令行方式输入:
  C:\Documents and Settings\Administrator\桌面\杨小颖\2009\Debug\class.exe "how are you"
效果也是一样的。

    希望对楼主有帮助。

#6


命令行在哪?
开始->运行->输入cmd->回车
然后输入什么?

#7


void main(int argc,char** argv),这个main函数第二个参数实际上指示的是参数列表,其中argv[0]是你的exe名称,然后argv[1]……argv[n]分别是你的参数名。

#8


引用 1 楼 hairetz 的回复:
http://zhidao.baidu.com/question/1965338.html 
如何运行带参数的main函数,win下。

楼主好好看看吧,当然是有用了!

#9


argv的第一个就是你的实际exe文件名

#10


wo 我是想输出how are you 怎么才能输出?

#11


引用 6 楼 cpp_yangzuoshi 的回复:
命令行在哪? 
开始->运行->输入cmd->回车 
然后输入什么?


然后输入:

C:\Documents and Settings\Administrator\桌面\杨小颖\2009\Debug\class.exe "how are you"

#12


还是不行!输出结果是:
'C:\Documents’不是内部或外部命令,也不是可运行的程序或批处理文件。
。。。。。。。。。。
????????????????????

#13


1.cmd
2.cd C:\Documents and Settings\Administrator\桌面\杨小颖\2009\Debug\
到C:\Documents and Settings\Administrator\桌面\杨小颖\2009\Debug\下,然后class.exe "how are you"

#14


如果是用VC的话,设一下IDE环境配置就可以调试了。

#15


还有,你那个源代码有点小问题,是逻辑错误,不是语法问题。

int i = 0;  //应该定义到while前面,这样比较合乎逻辑,要不有点奇怪,虽然不致出错