View Full Version : [C] Ciclo for+Salvataggio: indice nome.
salvodel
03-04-2008, 09:27
Salve a tutti avrei un piccolo problema da risolvere e non so quale strada percorrere. Il programma che ho scritto genera dei file che salvo con un nome prefissato.Adesso dovrei fare un ciclo for che mi cambi dei parametri e che automaticamente mi salvi i dati in diversi file con un nome diverso per ogni ciclo. Provo a buttare gių due righe per spiegarmi meglio:
vorrei questo risultato
#define filename "file000.dat"
....
....
for(i=1;i<124;i++)
{
...
...
salva();
}
Risultato
file001.dat
file002.dat
....
file123.dat
In questo momento non so che cosa fare, non so qual'č la soluzione pių veloce e pių snella per fare questo. Grazie per ogni consiglio.
Ciao
Volutomitra
03-04-2008, 09:32
Salve a tutti avrei un piccolo problema da risolvere e non so quale strada percorrere. Il programma che ho scritto genera dei file che salvo con un nome prefissato.Adesso dovrei fare un ciclo for che mi cambi dei parametri e che automaticamente mi salvi i dati in diversi file con un nome diverso per ogni ciclo. Provo a buttare gių due righe per spiegarmi meglio:
vorrei questo risultato
#define filename "file000.dat"
....
....
for(i=1;i<124;i++)
{
...
...
salva();
}
Risultato
file001.dat
file002.dat
....
file123.dat
In questo momento non so che cosa fare, non so qual'č la soluzione pių veloce e pių snella per fare questo. Grazie per ogni consiglio.
Ciao
Una printf?
Componi il nome del file con sprintf.
Ad esempio:
char filename[13];
int i;
for(i = 0; i < 1000; i++)
{
sprintf(filename, "file%03d.dat", i);
puts(filename);
}
salvodel
03-04-2008, 10:18
Componi il nome del file con sprintf.
Ad esempio:
char filename[13];
int i;
for(i = 0; i < 1000; i++)
{
sprintf(filename, "file%03d.dat", i);
puts(filename);
}
Grazie mille cionci...nel frattempo avevo trovato una soluzione che non funzionava con itoa, mi dava/tmp/cck6iP2d.o: In function `main':
prova.c:(.text+0x74): undefined reference to `itoa'
collect2: ld returned 1 exit status
con la tua va benissimo.
Grazie mille.
PS
leggendo meglio in http://www.cplusplus.com/reference/clibrary/cstdlib/itoa.html c'era scritto
This function is not defined in ANSI-C and is not part of C++, but is supported by some compilers.
A standard-compliant alternative for some cases may be sprintf:
salvodel
03-04-2008, 10:20
allora..
"file000.dat" č una stringa...
alloca lo spazio necessario con malloc() per contenere questa stringa
...............
Grazie anche a te per la risposta.
Ciao
vBulletin® v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.