oregon ha scritto:
"ho dei problemi" ti sembra chiaro?
Ciao scusami, è vero, forse non si capisce molto da come l'ho scritto... lo scrivo meglio, semplificando, in modo che potrai vedere più facilmente quale sia il problema.
In pratica il programma chiede all'utente tramite printf di premere 1.
Se l'utente preme 1, il programma chiede di inserire il titolo di un libro (che conserva tramite l'array di caratteri titolo.
Tramite il puntatore e, apro il file di testo EPICA.txt e inserisco in coda (a+) utilizzando la funzione fprintf, la stringa (titolo del libro) contenuta nell'array di caratteri titolo.
Infine prima di chiudere il file di testo tramite funzione fclose(e), sullo schermo deve apparire la scritta "Fatto!", che mi assicuri che il titolo è stato inserito correttamente nel file di testo EPICA.txt.
Il problema è che, avviando il programma, tutto procede bene... infatti mi chiede di scrivere 1 - ed io lo faccio -; mi chiede di inserire il titolo - ed io lo faccio -; ed infine mi scrive ricevo su schermo anche la scritta "Fatto!".
Però andando poi ad aprire il file EPICA.txt, noto che non è stata inserita alcuna stringa... c'è soltanto un a capo e uno spazio.
Sarei grato a chiunque mi possa aiutare, perchè non riesco proprio a capire dove stia l'errore... grazie mille in anticipo
#include <stdio.h>
#include <stdlib.h>
#define MAX 100
int main() {
char titolo[MAX];
char parlare;
int categoria;
int ambiente=0;
int opzione;
int i=0;
int t=0;
FILE *e;
printf("Premi 1: ");
scanf("%d",&ambiente);
if(ambiente==1)
{
printf ("\n\nINSERISCI TITOLO: ");
do{
scanf("%c ", &titolo[i]);
} while(titolo[i++] > 10);
e= fopen ("C:\\Users\\NB03\\Desktop\\PROGRAMMAZIONE\\C\\CATALOGO\\categorie\\EPICA.txt","a+");
do
{
fprintf (e, "%c ",titolo[t]);
} while(titolo[t++] > 10);
printf ("Fatto!");
fclose(e);
}
return 0;
}