Ho risolto giocando coi parametri
codice:
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <sys/types.h>
int main(int argc,char* argv[])
{
char nome[]="./lvl3";
char cont[2];
int param;
param=atoi(argv[1]);
param++;
printf("\nAttuale valore del parametro: %d\n",param);
if(param<3){
sprintf(cont,"%d",param);
execlp(nome,nome,cont,NULL);
printf("\nErrore in execlp\n");
}
if(param==3){
printf("\nMi sono eseguito le 3 volte desiderate; termino :)\n");
}
return 0;
}
codice:
[sly@localhost Client]$ gcc -Wall -g livello3.c -o lvl3
livello3.c: In function `main':
livello3.c:18: warning: implicit declaration of function `execlp'
[sly@localhost Client]$ ./lvl3 -1
Attuale valore del parametro: 0
Attuale valore del parametro: 1
Attuale valore del parametro: 2
Attuale valore del parametro: 3
Mi sono eseguito le 3 volte desiderate; termino :)
[sly@localhost Client]$