Saludos, tengo el siguiente codigo que me tiene que colocar el puntero en el caracter que se encuentre en la mitad de un texto, leerlo y despues imprimirlo, el codigo funciona correctamente, la duda que tengo es que a la hora de imprimir lo hago con un printf y cuando a ese printf le digo que tome el caracter de la mitad con getc() me imprime el caracter que le sigue al de la mitad, o sea uno mas, y no se por que se comporta asi esta funcion,
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
int main()
{
int fin,mitad;
char letra;
FILE *fd;
if((fd
= fopen("F:\\archivo_fuente.txt","r"))!=NULL
) {
mitad = fin/2;
fseek(fd
,mitad
,SEEK_SET
); fread(&letra
,sizeof(char),1,fd
); }
else
printf("No se pudo abrir archivo"); return 0;
}
y si al printf le pongo
fread(&letra
,sizeof(char),1,fd
);
aqui si me imprime el caracter que se encuentra en la mitad y no el que le sigue. cual es la diferencia??
de antemano gracias