Voglio leggere il contenuto di un file e metterlo in un altro che creo al momento.
Se il file che leggo si chiama file quello che creo e in cui metto il contenuto del primo file si chiama nuovo_file
Mi dite dove sbaglio ?
L'errore dovrebbe essere nella fgets, ma perche' ?
codice:#include <stdlib.h> #include <stdio.h> #include <string.h> #include <windows.h> #include <tchar.h> char *strcat(char *str1, const char *str2); main() { FILE *fp, *fp1; char ch, filename[40], mode[4]; char *stringa; int n; int *ip; char *str; char *nuovo_file; char nuovo[7] = "nuovo_"; /* Legge il nome del file e il modo */ printf("\nInserire il nome del file: "); gets(filename); /* Apertura del file */ if((fp = fopen(filename, "r")) != NULL) { if ((stringa = (char *)malloc(80 * sizeof(char))) == 0) { printf("Non c'e' memoria disponibile da allocare\n"); return 1; } else { printf("Allocata con successo memoria per la stringa\n"); } int i; stringa = strcat(nuovo, filename); fp1 = fopen(stringa, "w"); while(!feof(fp)){ fgets(stringa, 100, fp); fputs(stringa, fp1); } fclose(fp1); } getchar(); }

Rispondi quotando