[C con Clase] Copia de archivos.

srd4121 en njit.edu srd4121 en njit.edu
Sab Dic 13 18:19:21 CET 2008


Hola Federico,

Mensaje citado por: Federico Martín Criscuolo <fcriscuolo en gmail.com>:

> Gente, tengo un problema con un programa que copia de un archivo a
> otro caracter por caracter, aquie el codigo:
> 

Veamos el código fuente.

> #include <stdio.h>
> 
> int main ()
> {
> 	FILE *entrada, *salida;
> 	char c;
> 
> 	entrada=fopen("nota.txt","rt");
> 	if(entrada==NULL){
> 		puts("No se puede abrir el archivo!");
> 		return 1;
> 	}
> 	salida=fopen("nota2.txt", "wt");
> 	if(salida==NULL){
> 		puts("No se puede abrir el archivo!");
> 		return 1;
> 	}
> 
> 	c=fgetc(entrada);
> 
> 
> 	while(!feof(entrada)){
> 		fputs(c, salida);

Esto es un error. Seguramente, querías la función 'fputc()', ya que quieres 
escribir un carácter y no una cadena de caracteres. El compilador debería 
haberte avisado de la incompatibilidad de tipos de datos al intentar pasar un 
valor de tipo 'char' como 'char *'.

> 		c=fgetc(entrada);
> 	}
> 
> 	fclose(entrada);
> 	fclose(salida);
> 
> 	return 0;
> }
> 
> Por supuesto que nota.txt, ya esta creado, sin embargo en el momento
> de la ejecucion tira error y se cierra el programa, si alguien me da
> una mano...
> 

Te aconsejo que en futuros mensajes nos des más información como puede ser el 
mensaje de error lanzado y quién mostró tal mensaje: compilador, enlazador, 
sistema operativo, tu propio programa, etc..


Espero que lo anterior te ayude.

Steven





Más información sobre la lista de distribución Cconclase