Estás retornando FILE en vez de FILE* , además , en la función copia mayus tienes un error de sintaxis como casas jajaja mira:
Este es tu código:
if((caracter=>61)&(caracter=<121))
Y este es tu código corregido:
if((caracter>=61)&&(caracter<=121))
El and debe de ser lógico... , los operadores de comparación estaban al revés.Y he añadido para que coja el filename_nuevo que no lo tenías puesto , hé aquí tu código:
/* Copia de archivo de texto cambiando minúsculas por mayúsculas. */
#include <stdio.h>
FILE* copia_mayus(FILE *fp, FILE *fp_nuevo);
main()
{
char filename[40], filename_nuevo[40];
char contenido[200];
FILE *fp, *fp_nuevo;
printf("Introduce la ruta del archivo a copiar: "); printf("Introduce la ruta del archivo nuevo: "); fp_nuevo
=fopen(filename_nuevo
,"w");
fp_nuevo=copia_mayus(fp, fp_nuevo);
fgets(contenido
, 200, fp
); }
FILE* copia_mayus(FILE *fp, FILE *fp_nuevo)
{
char caracter;
while(caracter!=EOF)
{
if(caracter>=61&&caracter<=121)
{
fprintf(fp_nuevo
, "%c", caracter
-32); }
else
{
}
}
return fp_nuevo;
}