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