分析参数到主要功能

parsing parameters to main function

本文关键字:功能 参数      更新时间:2023-10-16

我不明白以下代码:

int  main(int argc, char** argv)
{
// See if we've been given a seed to use (for testing purposes).  When you
// specify a random seed, the evolution will be exactly the same each time
// you use that seed number.
  unsigned int seed = 0;
  for(int ii=1; ii<argc; ii++) {
    if(strcmp(argv[ii++],"seed") == 0) {
      seed = atoi(argv[ii]);
    }
  }

如何将值传递给主函数?我读了一点,发现它称为解析,您能澄清一下吗?

谢谢,

参数int argcchar** argv自动传递给main,并从用于调用程序的命令行中解析。它们各自是命令行参数的数量,包括程序名称本身以及这些参数的C风格字符串的数组。因此,如果用于调用my_prog

./my_prog file 10

main使用argc设置为3,而argvchar*的3个数组,该数组是3个指示器,"./my_prog""file""10"

编辑:感谢@basilestarynkevitch在POSIX投诉系统上指出的argv将具有NULLargc + 1元素,以指示参数的结尾。