Ciao a tutti,
avrei bisogno di una mano con il seguente script. Come potete vedere, attraverso l'uso di atoi(argv[1, 2, 3, 4, ecc...]) estraggo vari long long int da linea di comando. Assumendo che il secondo sarà sempre maggiore del primo, creo un array delle dimensioni specificate dall'intervallo tra questi due numeri.
Codice PHP:
if (argc != 5) {
printf("ERROR: You must provide 3 integers and a txt!\n");
return 1;
}
long long int z = atoi(argv[1]);
long long int b = atoi(argv[2]);
long long int c = atoi(argv[3]);
long long int sum = 0;
long long int i, p, m;
long long int tmp1 = z;
long long int tmp2 = b;
long long int tmp3 = c;
char *userFile = argv[4];
// B > Z
long long int numbers[b-z];
Il problema giunge ora, quando cerco di popolare l'array con tutti i valori e mi becco il seg fault:
Codice PHP:
for (i=0; tmp1<=tmp2; i++, tmp1++) {
numbers[i] = tmp1;
}
il resto dello script mi è costato notti insonni e mi è impossibile usarlo a causa di questo stupidissimo bug che non riesco a scovare. Aiuto!
Grazie,
J.
EDIT:
mi son dimenticato: se fornisco allo script un input semplice funziona ("/a.out 0 12 123 a" ad esempio va) ma appena uso un numero grande non va più: ("/a.out 12 2345672 123 a" è dove mi da il problema).