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();
}