KINGx - Das inoffizielle PlayStation Forum & News Portal

Normale Version: [C] sceIo
Sie sehen gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Ich finde einfach den Fehler nicht. Es wird kein Ordnername oder Dateiname ausgegeben.

Code:
SceUID hnd = sceIoDopen(akdir);
    SceIoDirent dir;
    int count = 0;
    int y = 15;
    if(hnd <= 0)
    {
        while(sceIoDread(hnd,&dir) > 0)
        {
            int color = CL_FILE;
            if(count == selected)
            {
                color = CL_SELECTED;
            } else if(sceIoDopen(dir.d_name) <= 0)
            {
                color = CL_FOLDER;
            }
            mclibDrawString(8,y,dir.d_name,color,0,7); y += 8;
            count++;
        }
        sceIoDclose(hnd);
    } else {
        mclibDrawString(8,10,"Error: Cannot read directory",CL_ERROR,0,7);
    }


Die Variable "akdir" ist "ms0:/".

Was is das überhaupt? ein HB?
HB is die Abkürzung für Homebrew

@Topic:Also ich weiß es nich ich hab mich noch nich mit C auseinandergesetzt^^vllt ein bisschen durchgelesen aber egal^^ich wollte seimen nur erklären was ein HB is^^Big Grin
Ja, ein Ausschnitt von meinem ersten PSP HB. Soll ein Filebrowser werden.
@BigDaddy: Ich weiss was ein HB ist. Ich hab gefragt ob der Quell Code im ersten Post ein Homebrew ist
Aso^^sry ich dachte da wolltes wissen was ein HB is^^sry^^Big Grin
Leute,er will das Problem loesen,..
Nicht wissen was ein HB ist,das muesste er eig. wissen..xD
@Battlemaster>
Frage den User Hackman>
Der kennt sich aus mit C.
mfg.flo
och manno, hackman is doch weg...
Per PN antwortet er aber noch.
mfg.flo
Ich habe ihn bei PSPsource eine PN geschickt.
Hi,

dein Fehler ist in dieser Zeile:

Code:
if(hnd &lt;= 0){
....
}


Die Funktion sceIoDOpen liefert immer Handles größer oder gleich 0. Wenn es kleiner ist als 0 dann ist es ein Fehler (Sony-Error-Code).

Schau mal hier nach für eine Hilfe bei sceIo*-Funktionen:
http://psp.jim.sh/pspsdk-doc/group__FileIO.html

Ja, von der Seite kenn ich ja die Funktion. Hatte mich anscheint versehen, mit dem > und < Big Grin. Aber dann bekomm ich immer FALSE. Mach ich vielleicht was mit dem Verzeichnis falsch?

Code:
char *akdir = "ms0:/";


Ich habs auch schon mit "." und "/" Versucht, aber der Wert von hnd ist immernoch <0.

hmm. kann zar kein C, aber hastes mal mit "ms0:" verscht? also weder "." noch "/"
Hi,

"ms0:/" ist schon richtig...
Syntax:

Code:
int hndl = sceIoDopen("device:/");

Schau dir doch mal den fehlerwert den du bekommst in Hex-Form an. Das ist der Fehlercode. Poste den mal hier bzw. google diesen, das hilft vielleicht weiter...

Neutrosider :
hmm. kann zar kein C, aber hastes mal mit "ms0:" verscht? also weder "." noch "/"


Geht nicht. Sad


Edit: @Über mir: Mach ich gleich mal.

Edit: Hö? Nach der Seite hier ist ERROR 80020323 "Bad file descriptor"

http://monkeydesk.at/f5-anleitungen/psp-error-codes-462/

Edit:

Wenn ich den Rückgabewert vom sceIoDopen() in einen Integer statt in SceUID packe, dann bekomme ich 80010016. Der Fehler stand nicht auf der Seite aber hier hat den jemand gepostet:

http://www.psp-programming.com/forums/index.php/topic,538.msg31128.html#msg31128

Also ist das Verzeichnis falsch, ich probiere mal ein bisschen rum.

Edit: Mit ms0:/ statt ms0:// bekomme ich 80020325:

* 0x80020325 = Unsupported operation

Und nun komme ich nicht weiter Big Grin




Edit:

Dark_:Alex_Wiki :
The first 4 numbers gives information about the place of the error: 8002XXXX = Kernel 8001XXXX = The standard libc


Mein Fehlercode ist 80020325. Find ich nen bisschen komisch warum ich einen Kernel Fehler bekomme.

Seiten: 1 2
Referenz-URLs