Vale,ya me di cuenta de que con el read se puede leer uno a uno simplemente dejando sizeof(cLinea) y lo que sobra en la linea esa es el "[i]" de _pLista! He probado haciendolo asi y la primera linea la toma bien y carga su ruta,luego la i aumenta en uno,pero esto no afecta a la carga de la segunda linea,por lo tanto se carga bien,el problema es que cuando va a tomar el valor de la ID
Código:
sprintf(nom_ruta,"../BaseDatos/%s.ruta", _pLista[i].getID());
la i se vuelve loca y toma un valor negativo y raro(-823562647,por ejemplo) como si hubiera habido un desbordamiento de bufer.Lo que hace que el nombre del archivo de ruta no se guarde bien y por tanto no encuentre el archivo para abrirlo.
Alguien sabe porque ocurre?
Gracias.
EDITO:
Cambio el nombre que almacena la variable manualmente y le asigno el que deberia tener y aun asi me da un error de ejecucion