回 帖 发 新 帖 刷新版面

主题:求助!

[em10]哪位讲解下主函数main的那两个参数是怎么的,谢谢!

回复列表 (共3个回复)

沙发

那是用于处理“命令行参数”的。
比如一个程序名字叫my.exe,我在命令行输入my.exe 111 222 aa,然后回车,那总共就有四个参数——第一个参数是程序的名字“my.exe”,第二个参数是“111”,第三个参数是“222”,第四个参数是“aa”。


main函数的两个参数,第一个是“命令行参数的个数”,如果是上面所举的那个例子,则它的值为4。第二个是一个数组,记录了每个参数的具体内容。
int main(int argc, char* argv[])
{
    // argc的值是4
    // argv[0]的值是"my.exe"
    // argv[1]的值是"111"
    // argv[2]的值是"222"
    // argv[3]的值是"aa"
}

板凳


受教了,我想问下这两个参数一般在什么情况下用

3 楼

[quote]
受教了,我想问下这两个参数一般在什么情况下用[/quote]

有时候这两个参数很有用:
windows系统盘里的windows/system32文件夹里面的很多 .exe 程序运行时都要带参数
  如 del *.o *.exe    // argc=3 argv[0]=del argv[1]=*.o argv[2]=*.exe
     copy.exe src obj // argc=3 argv[0]=copy.exe argv[1]=src argv[2]=obj 

还有,基本上所有的编译器,解释器都是这样的程序。
  如 VC的cl.exe  : cl /Ot /Wall foo.c     //编译foo.c
    GCC的gcc.exe : gcc -O -Wall foo.c     //编译foo.c
  GHC的runghc.exe: runghc foo.hs          //运行脚本foo.hs
          ghc.exe: ghc  -o foo.exe foo.hs //把foo.hs编译成2进制foo.exe
   ....
对于这些参数,微软的好像都是用 '/'领头, 如 /Ot /Wall
 一般的开源软件,都是以 '-'领头,(以1个-的叫短格式,2个-的叫长格式)
                     -V, --version      一般都用来显示版本信息
                     --help=warning     gcc这个参数可以用来显示所有和warning有关的信息

我来回复

您尚未登录,请登录后再回复。点此登录或注册