2015-11-19 122 views
-1

我被要求创建一个C++程序“接受命令行参数并输出素数小于该值的数目;如果没有指定参数,输出只是std::endlstd::cout命令行参数C++

我明白如何查看素数,但我不确定什么是“命令行参数”以及它如何与工作联系起来。另外,我认为如果没有给出参数,你只需要std::cout << std::endl

我试图找出一个命令行参数是什么,但找不到任何有意义的资源来达到这个效果。

+0

命令行参数是您主要功能的一部分。 –

+2

网上有很多文章http://www.cplusplus.com/articles/DEN36Up4/ – Slava

+1

你考虑过[谷歌](https://www.google.de/search?q=command+line+参数&ie = utf-8&oe = utf-8&gws_rd = cr&ei = MixOVrLqAsGzO8SouXA#q = command + line + parameter + c%2B%2B)? – user463035818

回答

2

命令行参数是传递到程序名称的参数。例如,UNIX程序cp(复印件两个文件)具有以下命令行参数:

cp SOURCE DEST

您可以argcargv访问命令行参数:

int main(int argc, char *argv[]) 
{ 
    return 0; 
} 

ARGC是参数的个数,包括程序名称,argv是包含参数的字符串数组。 argv[0]是程序名,argv[argc]保证是NULL指针。

所以cp程序可以实现为这样:

int main(int argc, char *argv[]) 
{ 
    char *src = argv[1]; 
    char *dest = argv[2]; 

    cpy(dest, src); 
} 

他们没有被命名为argcargv;他们可以拥有任何你想要的名字,尽管传统上他们被称为那个名字。