как передать max_streak_length из командной строки

0

Я использую MPI для создания консольного приложения C++. Моя проблема заключается в том, что у меня есть max_streak_length var - это жесткий код. Мне нужно передать его из командной строки. моя командная строка mpiexec -n 3 main.exe 6 где 6 - моя max_streak_length.может кто-нибудь мне помочь?

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;

}
Теги:
mpi
command-line-arguments

1 ответ

0
Лучший ответ

Простой ответ

int max_streak_length = atoi(argv[1]);

Обратите внимание, что с чем-либо, переданным из командной строки, вам действительно нужно добавить некоторую проверку ошибок, вы должны убедиться, что аргумент на самом деле существует (т.е. Этот argc> 1) и что введенное значение действительно является целым числом, и что это значение находится в диапазон, который вы ожидаете и т.д. и т.д.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню