PDA

View Full Version : [C] creare file di testo con nomi diversi


mibfb
30-07-2010, 15:12
salve, ho un problemino con il c. Allora ho creato un programma che crea un file txt e ci scrive dentro delle stringhe. ho messo un controllo sul file in modo che appena arriva a 10 MB venga chiuso e il programma continui a scrivere su un nuovo file. io vorrei che quando viene creato il file nuovo gli venga applicato al nome una variabile in modo da avere: file0, file1, file2 ecc ecc e che quindi il programma possa andare in esecuzione continua senza sovrascrivere i file che ha gia creato. ho provato a mettere a fopen() dei paramentri formali all'interno ma non li accetta e ho anche provato a modificare un array di char passato come nome del file in fopen() ma non e' una cosa fattibile. c'e' un modo per fare una cosa del genere?

malocchio
31-07-2010, 01:15
salve, ho un problemino con il c. Allora ho creato un programma che crea un file txt e ci scrive dentro delle stringhe. ho messo un controllo sul file in modo che appena arriva a 10 MB venga chiuso e il programma continui a scrivere su un nuovo file. io vorrei che quando viene creato il file nuovo gli venga applicato al nome una variabile in modo da avere: file0, file1, file2 ecc ecc e che quindi il programma possa andare in esecuzione continua senza sovrascrivere i file che ha gia creato. ho provato a mettere a fopen() dei paramentri formali all'interno ma non li accetta e ho anche provato a modificare un array di char passato come nome del file in fopen() ma non e' una cosa fattibile. c'e' un modo per fare una cosa del genere?

Ho dovuto fare una cosa simile tempo fa.
Per risolvere ho usato un array di char di comodità.
Tramite la sprintf() inserivo nella stringa il nome con parametro. Un esempio:

char buff[150];
timestamp = time(NULL);
sprintf(buff, "test-%d.txt", timestamp);
FILE *fout = fopen(buff, "w");

La sprintf() funziona esattamente come la printf() solo che invece di mettere il risultato su STDOUT lo mette nell'array di char specificato come primo parametro.

Non ho capito cosa intendi con "ma non è una cosa fattibile"...

mibfb
31-07-2010, 01:58
ti ringrazio. quello che intendevo con "non e' una cosa fattibile" era riferito all'array di char come nome del file in fopen che avevo provato a cambiarlo con strcpy ma mi dava errore e allora avevo provato un metodo un po' "spartano" e cioe' modiicando tramite array[x] = '1'; ecc ecc ma non era una cosa fattibile. ti ringrazio ancora per la risposta