View Full Version : Gestione di un file .txt con un programma in C
Madchemist
23-02-2008, 09:33
Buongiorno.
Come posso gestire un file .txt attraverso un programma in C?
Mi spiego meglio, vorrei un programma che eseguisse queste operazioni in modo ciclico...
-Chiedere l'inserimento di un testo...
-Cancellare il testo contenuto in un file .txt...
-Salvare quel testo nel file .txt...
-Chiedere l'inserimento di un testo...
-Cancellare il testo contenuto in un file .txt...
-Salvare quel testo nel file .txt...
-...
-......
Come si potrebbe fare?
Quali sono le funzioni che devo utilizzare e quali librerie mi servono?
aprire un file:
FILE*file;
char leggi[50];
file=fopen("file.txt", "r") -> r: leggi, a: scrivi, w: cancelli il contenuto e scrivi.
fgets(leggi, sizeof(leggi), file); prendi una stringa dal file
fprintf(file, "%s", leggi); scrivere nel file
fclose(file); chiudere il file
Madchemist
23-02-2008, 11:55
grazie.
Le librerie?
Madchemist
23-02-2008, 12:13
Non č che riuscite a crearmi un mini-programmino funzionante?
Deve solo chiedere di inserire un testo e salvarlo in un file .txt, successivamente cancellare il file e scrivere il testo sul file per tornare a chiedere il testo e per poi riscriverlo e cosė all'infinito...
kawasaidleon
23-02-2008, 13:45
mmm non e' che non si potrebbe richiedere la soluzione intesa come programma finale?
cmq ti do due funzioni che possono servirti
void scrivi_file (char* dove, char* cosa, char* modo)
{
FILE* f = fopen(dove, modo);
if (!f)
f = fopen (dove, "w");
fprintf(f, "%s\n", cosa);
fflush(f);
fclose(f);
}
in dove ci va il percorso del file (compreso il nome del file di testo), in cosa la stringa che vuoi scrivere (magari puoi usare sprintf per creartela
sprintf(stringa_finale, "%s qualche altra stringa %s o un numero %d, stringa1, stringa2, intero);
) e modo lo usi o come "w" o append "a" che accoda al file quello che metti in 'cosa'.
e
void leggi_file (char* dove)
{
FILE* f = fopen(dove, "r");
if (!f)
{
f = fopen (dove, "w");
fflush(f);
fclose(f);
return;
}
char stringa[256];
while (fgets(stringa, 256, f))
printf("%s", stringa); //modifica questa per avere la stringa letta in altro modo
fflush(f);
fclose(f);
}
che lo usi per leggere
Madchemist
23-02-2008, 17:16
Tutt'ok, grazie!
vBulletin® v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.