Os pongo una parte del código, que es lo que falla, y es que los caracteres que se guardan en el while no son los que se muestran en el for que hay después... y no sé por qué!!!! Que desesperación!!!! Ya no sé qué hacer jajaja.
Código:
#include<stdio.h>
#include<stdlib.h>
int main()
{
char *texto; //texto a cifrar
char nombre[20]; //nombre que le vamos a dar al fichero de texto
FILE *pf; //puntero de tipo FILE, necesario para manejar ficheros
int i=0, numerocaracteres=0;
printf("Introduce el nombre del archivo\n");
printf("segun la forma nombre.tipo)\n");
scanf("%s", &nombre);
getchar();
pf=fopen(nombre,"r");
//comprobamos que no haya errores al abrir el fichero
if(pf==NULL)
{
printf("Error al abrir el fichero. Pulsa Enter para salir\n");
getchar();
exit(1);
}
texto=(char *)malloc(1*sizeof(char));
while(!feof(pf) && !ferror(pf))
{
texto[numerocaracteres]=fgetc(pf);
printf("texto[numerocaracteres] es %c\n", texto[numerocaracteres]);
getchar();
numerocaracteres++;
texto=(char *)realloc(texto,numerocaracteres*sizeof(char));
}
for(i=0;i<numerocaracteres;i++)
printf("texto[i] es %c\n", texto[i]);
getchar();
fclose(pf);
//..........................
Muchas gracias y saludillos.