Fork in C

di il
3 risposte

Fork in C

Ciao a tutti,
ho il seguente programma in C:

#include <sys/types.h>
#include <unistd.h>
#include <stdio.h>
#include <stdlib.h>
main()
{
int i,j;
pid_t n;
n=fork();
if (n==(pid_t)-1)
{perror("fork fallita");
exit(1);
};
if (n==(pid_t)0) {
for (j=0;j<50;j++) {
for (i=0; i< 100000000; i++);
printf(" Figlio \n");
}
}
else {
for (j=0;j<50;j++) {
for (i=0; i< 100000000; i++);
printf("Padre \n");
}
}
vorrei fare in modo che i valori da usare per i due cicli for vengano passati come argomenti sulla linea di comando.
Secondo voi come potrei fare?

Io avrei pensato a inserire un:

int main(int argc, char* argv) {
e all'interno dei cicli for i<argc?

secondo voi potrebbe andare?

3 Risposte

  • Re: Fork in C

    Int main(int argc, char *argv[])
    argc dovrebbe valere quanto il numero di argomenti passati, quindi se fai :/eseguibile val1 val2
    argc dovrebbe valere 2, mentre in argv ci vanno i parametri.
    Quindi ti basta usare un indice diverso da "i" per non fare confusione e la prima volta usi argv[j] con j=0 (o 1 non sono sicuro) e la seconda volta argv[j] con j=1 (o 2 non sono sicuro)
  • Re: Fork in C

    return0 ha scritto:


    Quindi ti basta usare un indice diverso da "i" per non fare confusione e la prima volta usi argv[j] con j=0 (o 1 non sono sicuro) e la seconda volta argv[j] con j=1 (o 2 non sono sicuro)
    argv è un vettore che contiene gli argomenti passati al programma. argv[0] è il nome del programma, poi ci sono i vari argomenti.
  • Re: Fork in C

    Grazie, delle risposte! Risolto il problema.

    Ciao
Devi accedere o registrarti per scrivere nel forum
3 risposte