PDA

Visualizza la versione completa : [C] Creare "n" file di testo con percorsi di immagini


dr kool
29-11-2006, 17:10
come posso fare per creare N file di testo non conoscendo N?
aiutatemi :(

andbin
29-11-2006, 17:18
Originariamente inviato da dr kool
come posso fare per creare N file di testo non conoscendo N?
aiutatemi :( un po' poco .... :stordita:
File di che tipo??? Con quali nomi?? Come fai a sapere quale l'ultimo file da creare se non sai N??

devil89
29-11-2006, 18:48
Se intendi creare un numero di file non noto a priori, puoi chiedere all'utente di inserire tale numero oppure devi basarti su qualche altra informazione che viene comunque gestita dall'utente e non dal programmatore.

Spiegati meglio...

dr kool
29-11-2006, 20:05
in pratica dovrei creare N file di testo,contenenti un immagine e un id, dove N il numero di processori ed dato in input dall'utente. I file di testo non devono avere un nome specifico ma resta cmq il fatto che un nome lo devono avere.
Il mio problema come fare a implementare ci.
:confused:

devil89
29-11-2006, 20:14
Originariamente inviato da dr kool
in pratica dovrei creare N file di testo,contenenti un immagine e un id, dove N il numero di processori ed dato in input dall'utente. I file di testo non devono avere un nome specifico ma resta cmq il fatto che un nome lo devono avere.
Il mio problema come fare a implementare ci.
:confused:

Scusa...come fai ad inserire un'immagine in un file di testo?

dr kool
29-11-2006, 20:18
Originariamente inviato da devil89
Scusa...come fai ad inserire un'immagine in un file di testo?

scrivendo il PATH dell'immagine

devil89
29-11-2006, 20:27
ah..ok.
Ti scrivo il codice tralasciando la parte di richiesta all'utente del numero di file da creare.



int i;
char cmd[20];
for (i=0; i<N; i++) {
sprintf(cmd, "md pathdirectory\dir%d", i);
system(cmd);
}

dr kool
29-11-2006, 20:33
Originariamente inviato da devil89
ah..ok.
Ti scrivo il codice tralasciando la parte di richiesta all'utente del numero di file da creare.



int i;
char cmd[20];
for (i=0; i<N; i++) {
sprintf(cmd, "md pathdirectory\dir%d", i);
system(cmd);
}


non mi dire niente...mi spiegheresti cosa significano queste righe,sopratutto sprintf e system (sotto linux system va bene?).

devil89
29-11-2006, 20:41
Scusa, mi sono sbagliato...ti sto creando delle cartelle non dei file...scusa...cancella tutto.

Codice nuovo e corretto:


int i;
char cmd[20], nF[20];
FILE *pF; // puntatore al file

// Questo ciclo ti crea tanti file quanto N
// All'interno devi inserire (dopo l'if) le istruzioni per inserire le informazioni nel file
for (i=0; i<N; i++) {
sprintf(nF, "%d.txt", i);
if((pF=fopen(nF, "w"))==NULL) // Se la creazione del file fallisce, termino il programma
exit(1);
}


funzione anche sotto linux.

sprintf permette di inserire nel contenuto di una stringa il valore di una variabile, che in questo caso cambia ad ogni ripetizione del ciclo.

system la utilizzi per far eseguire al programma i comandi della shell (prompt in windows).

dr kool
29-11-2006, 20:50
Originariamente inviato da devil89
Scusa, mi sono sbagliato...ti sto creando delle cartelle non dei file...scusa...cancella tutto.

Codice nuovo e corretto:


int i;
char cmd[20], nF[20];
FILE *pF; // puntatore al file

// Questo ciclo ti crea tanti file quanto N
// All'interno devi inserire (dopo l'if) le istruzioni per inserire le informazioni nel file
for (i=0; i<N; i++) {
sprintf(nF, "%d.txt", i);
if((pF=fopen(nF, "w"))==NULL) // Se la creazione del file fallisce, termino il programma
exit(1);
}


funzione anche sotto linux.

sprintf permette di inserire nel contenuto di una stringa il valore di una variabile, che in questo caso cambia ad ogni ripetizione del ciclo.

system la utilizzi per far eseguire al programma i comandi della shell (prompt in windows).

grazie 1000 :)

Loading