... la storia si ripete!
Nel mio programma c'e un certo parametro, y, a valori decimali (quindi definito come double). Io vorrei che il file di output del programma contenga nel nome l'informazione sul valore del parametro. Quindi trasformo l'informazione in un int e costruisco la stringa che contiene il nome del file di uscita. Esempio:
codice:
#include <stdio.h>
#include <stdlib.h>
double y;
int infoy;
char OutputFile[80];
main()
{
y=0.6;
printf("y = %lf\n",y);
infoy=y*100;
printf("infoy = %d\n",infoy);
sprintf(OutputFile,"OutputFiles_%d.dat",infoy);
return 0;
}
Ecco l'output:
y = 0.600000
infoy = 59
OutputFile_59.dat
E' evidente che si tratta di qualcosa di completamente analogo a quanto esposto prima. Ma il problema rimane. Io mi aspetto che, se imposto y=0.6 come valore del parametro, si produca un file il cui nome e' OutputFile_60.dat. E invece questo file non esiste! E se lo vado a cercare con il nome che mi aspetto che abbia, ovviamente, non lo trovo! Vi siete mai imbattuti in problemi simili? Si tratta di una situazione tipica? Come viene risolta di norma? Cosa fareste?