Ho questo codice:
codice:
#include <stdio.h>
#include <stdlib.h>
/* divhiarazione variabili */
char testo[356];
char filename[256];
char aprif[266];
/* main()*/
int main(void)
{
int scelta;
printf("----- Benvenuti in Lucas Files Editor BETA 0.2 (c)2002 -----\n\n");
printf("Possibilita:\n1. Nuovo Files\n2. Apri files\n");
scanf("%i", &scelta);
printf("\n");
if (scelta == 1)
{/* Nuovo files*/
printf("Inserisci il percorso comleto del files(esempio X:\\nomecartella\\nomefiles.estens)");
printf("\n");
gets(filename);
printf("\n");
printf("Inserisci il contenuto del files\n");
printf("\n");
gets(testo);
salvaconome(filename, testo);
}
if (scelta == 2)
{/* Apertura Files*/
printf("Inserisci il percorso comleto del files(esempio X:\\nomecartella\\nomefiles.estens)");
printf("\n");
gets(aprif);
printf("\n");
apri(aprif);
}
system("PAUSE");
return 0;
}
/* Dichirazione funzione*/
void salvaconome(char *nomefiles, char *testo)
{
FILE *hFile;
hFile = fopen(nomefiles, "w");
if(!hFile) {/* Gestione errore*/
printf("Creazione/apertura del file fallita\n");
return;
}
printf("Salvataggio in corso......\n");
fwrite(testo, 1, strlen(testo)+1, hFile);
fclose(hFile);
printf("Salvataggio riuscito!\n");
}
/* Dichiarazione funzione*/
void apri(char *cosa) {
int ch;
FILE *bFile;
bFile = fopen(cosa, "rt");
if(!bFile) {/* Gestione errore*/
printf("Files inesistente\n");
return;
}
do {
ch = getc(bFile);
putchar(ch);
}while(ch != EOF);
}
Perche se scielgo 2 mi compare subito files inesistente?????