Tengo una función para ir leyendo linea a linea un fichero.
int _file_ply::read_line(){
if (!feof(File)){
fgets(Buffer,MAX_LENGTH_LINE,File);
if (strlen(Buffer)==0) return(-1);
Num_lines++;
printf(" - %d - ",strlen(Buffer));
//printf("%d:%s",Num_lines,Buffer);
return(0);
}
return(-1);
}
El documento que leo 1º tiene una etapa de 3 numeros y luego de 4 numeros.
ej:
1 2 4
2 3 6
2 4 6
3 1 2 3
3 4 5 7
3 4 5 6
El problema empieza cuando empezamos con las lineas de 4 numeros.
strlen(Buffer) me dice que que tiene tamaño 9 las lineas.
Luego lee el 1 numero, strlen(Buffer) = 8
Luego lee el 2 numero, strlen(Buffer) = 6
Luego lee el 3 numero, strlen(Buffer) = 4
Pero cuando va a leer el 4 numero dice que encuentra un '\n' y si fuerzo el puntero al Buffer haciendole p1=Buffer; p1++; entonces me da una violacion de segmento, no lo entiendo ya que aun tendriamos 4 posiciones de memoria mas donde seguir mirando.
Por favor , me podríais ayudar????
Muchas gracias.