[C] creazione di un file di testo!!
Ciao a tutti!
ho scritto un programmino che mi scriva 5 numeri in un file di testo,
e funziona correttamente!
questo è il codice:
L'unico problema è che vorrei far creare questo file non nella stessa directory dell'eseguibile, ma creare delle sottodirectory (Upload\istogrammi) di quella in cui c'è l'exe.
Che path devo mettere quando creo lo stream?
Aspetto vostre preziose risposte!!
Ciao ciao
Angelo
ho scritto un programmino che mi scriva 5 numeri in un file di testo,
e funziona correttamente!
questo è il codice:
int main() { file *stream = fopen("bars_height.txt","w"); if ((stream = fopen("bars_height.txt","w")) != NULL) { fprintf(stream, "22.3 \n"); fprintf(stream, "40 \n"); fprintf(stream, "10 \n"); fprintf(stream, "16.5 \n"); fprintf(stream, "21.2 \n"); fflush(stream); fclose(stream); } }
L'unico problema è che vorrei far creare questo file non nella stessa directory dell'eseguibile, ma creare delle sottodirectory (Upload\istogrammi) di quella in cui c'è l'exe.
Che path devo mettere quando creo lo stream?
Aspetto vostre preziose risposte!!
Ciao ciao
Angelo
Risposte
Perché apri il file due volte (una volta prima dell'if e la seconda nella condizione dello stesso)? Ti ho scritto qualche commento sul codice visto che immagino tu sia all'inizio.
Per poter scrivere su di un file in una sottocartella è sufficiente scrivere "Upload\\istogrammi\\bars_height.txt" (nota il doppio \\) invece che "bars_height.txt".
/* immagino che tu abbia inserito questo header ma non l'abbia copiato. */ #include <stdio.h> int main() { /* La struttura per accedere ai file è scritta tutta maiuscola nello standard e dovresti quindi scriverla in questo modo. Non è portabile in questo modo. */ FILE *stream = fopen("bars_height.txt", "w"); if (stream != NULL) { /* perché dividere la chiamata su più fprintf? Uno è sufficiente. Essendo stringhe puoi anche usare fputs che è più efficiente. */ fprintf(stream, "22.3\n40\n10\n16.5\n21.2\n"); /* fflush non è necessario perché fclose lo fa in automatico. */ fclose(stream); } /* in C la funzione main dovrebbe restituire un valore (in molti compilatori e in C++ viene inserito return 0; di default). */ return 0; }
Per poter scrivere su di un file in una sottocartella è sufficiente scrivere "Upload\\istogrammi\\bars_height.txt" (nota il doppio \\) invece che "bars_height.txt".
Ad apatriarca.
Dove salva il file di testo creato? Grazie
Dove salva il file di testo creato? Grazie
Il file viene creato nella directory in cui si trova l'eseguibile