C++ 如何从命令行传递最大条纹长度

C++ 如何从命令行传递最大条纹长度,c++,mpi,command-line-arguments,C++,Mpi,Command Line Arguments,我用MPI创建C++控制台应用程序,我的问题是我有Max StudiaKixValm VAR是需要从命令行传递的硬代码。我的命令行mpiexec-n3 main.exe 6其中6是我的最大条纹长度。有人能帮我吗 int main(int argc, char* argv[]) { //init size of max win streak int max_streak_length = 6; //init MPI if(MPI_Init(&argc

我用MPI创建C++控制台应用程序,我的问题是我有Max StudiaKixValm VAR是需要从命令行传递的硬代码。我的命令行
mpiexec-n3 main.exe 6
其中6是我的最大条纹长度。有人能帮我吗

int main(int argc, char* argv[])
{
    //init size of max win streak
    int max_streak_length  = 6;


    //init MPI 
    if(MPI_Init(&argc,&argv) == MPI_SUCCESS)
    {
        //init number of process and rank
        int numProc , rank;

        MPI_Comm_size(MPI_COMM_WORLD,&numProc);
        MPI_Comm_rank(MPI_COMM_WORLD,&rank);


        //call the process master 
        if(rank == 0)
            procMaster(numProc,max_streak_length);
        //call the process slaves
        else
            procSlave(numProc,rank,max_streak_length);

        MPI_Finalize();
    }



    //playGame(15);

    return 0;

}
简单的答案是

int max_streak_length = atoi(argv[1]);
请注意,对于从命令行传递的任何内容,您确实应该添加一些错误检查,您应该检查参数是否确实存在(即argc>1),输入的值是否确实是整数,其值是否在您期望的范围内,等等