Ciao, ho un problema con un file php e con l'esecuzione della funzione exec().
La funzione stessa prende un eseguibile e un array di parametri (in questo caso un file di input e uno di output) e restituisce il valore contenuto nell'ultima riga una volta eseguito il file.
Nello specifico, questo è il mio file php:
<?php
$array[0]="Instance1.txt";
$array[1]="Output11.txt";
$return_var=0;
exec('eseguibile.exe',$array,$return_var);
echo "il risultato è: ".$return_var."
";
?>
mentre questo è l'eseguibile in c:
#include <stdio.h>
int main(int argc, char* argv[])
{
FILE *fp1, * fp2;
double i1,i2,v,a,b;
fp1 = fopen(argv[1],"r"); // file di input
fp2 = fopen(argv[2],"r"); // file di output
fscanf(fp1, "%d", &i1);
fscanf(fp2, "%d%d", &v, &i2);
fclose(fp1);
fclose(fp2);
printf("i1: %d\n",i1);
printf("v: %d\n",v);
printf("i2: %d\n",i2);
a=i1;
b=i2;
if (a!=b)
printf("Errore...");
else
printf("Costo = %d\n", v);
return 0;
}
i due file Instance1.txt e Output11.txt contengono dei numeri:
Instance1.txt
1
Output11.txt
24 1
se il valore contenuto in Instance1 è uguale al secondo di Output11, il programma dovrebbe stampare 24.
Che problemi potrebbe avere?
Vi ringrazio anticipatamente per il vostro aiuto.