[PSP] lectura de archivo

hola quiero leer un archivo con esta estructura:

nombre1.patatin
nombre2largoocorto.patatin
nombre3cortisimo.patatin


el caso es que he creado un par de funciones y en pc me van y en psp no... :( alguna idea? bueno el código que tengo es el siguiente.

:

vector<char *> mapas;

void leerMapas(void){
    std::fstream m("ms0:/media/mapas.lst");
    char * aux;
    while(!m.eof()){
         aux=new char[256];
         m>>aux;

         mapas.push_back(aux);               
    }
    m.close();
}

void leerMapas(void){
    int m = sceIoOpen("ms0:/media/mapas.lst", PSP_O_READ, 0777);
    char * aux;
    while(!sceIoIsEndOfFile(m)){
         aux=new char[256];
         sceIoRead(m, aux, sizeof(aux));

         mapas.push_back(aux);               
    }
    sceIoClose(m);
}


Lo de EndOfFile no se si estará bien, miralo en la documentación de el PSPSDK.
hola he mirado la documentación y he probado esto:

    int m = sceIoOpen("ms0:/media/mapas.lst", 0x0001 , 0777);
    char * aux;
    int leidos;
    do{
         aux=new char[256];
         leidos=sceIoRead(m, aux, 256);
         mapas.push_back(aux);               
    }
    while(leidos>0);
    sceIoClose(m);


pero sigue sin funcionar, creo que el problema puede estar con los saltos de linea... alguna idea?
Mira, prueba así:
bool leercosas;
leercosas = true;

while (leercosas)
{
    int readproc = sceIoRead(m, aux, 256);
    if (readproc == 0)
    {
        // EOF
        leercosas = false;
    }
    else if (readproc < 0)
    {
        pspDebugScreenPrintf("Error leyendo el archivo, juasjuasjuas\n");
        sceKernelExitGame();
    }
}
3 respuestas