Cómo leer los argumentos del progtwig

Se supone que debo leer el número de hilo solicitado por el cliente. Así que si alguien ejecuta mi progtwig así:

./test 2 

Tengo que leer el número de subprocesos igual a 2. Intento con getchar() pero no funciona. ¿Alguna idea?

Esto no tiene nada que ver con los hilos per se.

El primer argumento de su progtwig, si se proporciona, se encontrará en argv[1] pero como una cadena, por lo que debe convertirlo en un entero con algo como atoi o strtol .

Aquí hay un ejemplo mínimo con mensajes de diagnóstico y verificación de errores completos y correctos. Tenga en cuenta que establecer errno en 0 es necesario para distinguir los errores de rango de las salidas válidas de strtoul() , esta es una peculiaridad molesta de la función.

 #include  #include  #include  int main(int argc, char *argv[]) { if (argc != 2) { fputs("usage: test NTHREAD\n", stderr); exit(1); } char *e; errno = 0; unsigned long nthread = strtoul(argv[1], &e, 0); if (!*argv[1] || *e) { fputs("error: invalid NTHREAD\n", stderr); exit(1); } if (nthread == (unsigned long) -1 && errno == ERANGE) { fputs("error: NTHREAD out of range\n", stderr); exit(1); } // Your code goes here } 

int main(int argc, int **argv)

Usando los argumentos de main , debe saber que el primer argumento argv[0] es el nombre del archivo en ejecución actual, y los siguientes argumentos son los parámetros enviados a su progtwig.

En tu caso, debes leer argv[1] .

Siempre verifica argc para contar los argumentos ingresados.