Ciao a tutti,nell ambito di un programma C,è possibile creare un file con un certo nome e metterlo in una cartella diversa da quella corrente??Ossia è possibile specificare il path?
Ciao a tutti,nell ambito di un programma C,è possibile creare un file con un certo nome e metterlo in una cartella diversa da quella corrente??Ossia è possibile specificare il path?
Ovviamente sì, altrimenti non funzionerebbero la gran parte dei programmi ...
Indica il path completo quando crei la cartella ...
Ciao e grazie per la risposta,io sto utilizzando un sistema linux,e nell'ambito del programma ho creato una cartella in una certa posizione con la funzione mkdir("nome cartella",flag).Ora vorrei che un'altro programma C possa creare e scrivere file dentro la cartella appena creata.E' possibile farlo con fopen???se si in che modo??Ciao e grazie ancora!!
Indica il percorso completo nella fopen ...
certo che puoi, ad es. crea/apre il file specificato da linea di comando (o almeno ci prova)
se la cartella/il file contiene degli spazi, servono gli apici o i doppi apici (se usi questi ultimi, fai attenzione alle shell...)
es.
./a.out 'nome cartella/questo è un file'
oppure
./a.out "${HOME}/dir/.bla bla bla @ @ @ . ?^"
codice:#include <stdio.h> int main(int argc, char **argv) { FILE *fnew; if (argc != 2) return 1; fnew = fopen(argv[1], "a+"); if (fnew == NULL) { printf("File %s not opend %s.\n", argv[1]); return 1; } printf("File %s opend.\n", argv[1]); if (fclose(fnew) != 0) printf("File %s not closed. The system " "should do it for us.\n", argv[1]); else printf("File %s closed.\n", argv[1]); return 0; }![]()
Ti rompo le P...e un altro poIl mio problema è che il file deve essere messo nella cartella appena creata e deve avere un nome che contiene giorno mese anno ore minuti secondi e un identificativo numerico.Come posso combinare il percorso con la striga che contiene suddetti valori??Ciao!!
utilizzando strftime, ad es.Come posso combinare il percorso con la striga che contiene suddetti valori??Ciao!!
codice:#include <stdio.h> #include <time.h> int main(int argc, char **argv) { char fname[21]; time_t epoch; struct tm *date; FILE *fnew; epoch = time(NULL); date = localtime(&epoch); strftime(fname, 21, "%d_%h_%Y_%H:%M:%S", date); fnew = fopen(fname, "a+"); if (fnew == NULL) { printf("File %s not opend %s.\n", fname); return 1; } printf("File %s opend.\n", fname); if (fclose(fnew) != 0) printf("File %s not closed. The system " "should do it for us.\n", fname); else printf("File %s closed.\n", fname); return 0; }
Grazie mille!!