Problem beim auflisten von Ordnerinhalten



  • hmm ich poste mal was mir bei allen Dateien als Dateiname angezeigt wird:

    |¬þ



  • Keiner ne Idee wie ich das in was lesbares umwandeln könnte?
    😕 🙂



  • Hast du mal überprüft, ob FindFirstFile ein valides Handle zurückgibt? Oder schmeißt du Unicode und MultiChar durcheinander? Zeig mal deinen Code (wenns nicht ge-copy-pastet ist)...



  • Hi,

    hier mal der Code:

    #include <windows.h>
    #include <stdio.h>
    
    char Directory[200] = "I"; 
    
    int files(void)
    
    {
    HANDLE fHandle; 
    WIN32_FIND_DATA wfd; 
    
    char a[10];
    char b[300];
    char DoppelSlash[3]=":\\";
    
    char Doks[200]="Dokumente und Einstellungen\\";
    char Username[200]="Muhammed.NONE-GIH0BS3O7L";
    char Path[200]="\\Eigene Dateien\\Meine empfangenen Dateien\\mahba893707897003\\Verlauf\\";
    
    unsigned long int c=200;
    
    GetWindowsDirectory(a,11);
    //GetUserName(Username,&c);
    
    b[0]=a[0];
    lstrcat(b,DoppelSlash);
    lstrcat(b,Doks);
    lstrcat(b,Username);
    lstrcat(b,Path);
    
    FILE *file;
    file=fopen("test.txt","w+");
    fprintf(file,"%s\n\n",b);
    
    fHandle=FindFirstFile(b,&wfd); 
    
    do 
    { 
    
        if (!( (wfd.cFileName[0]=='.') && ( (wfd.cFileName[1]=='.' && wfd.cFileName[2]==0) || wfd.cFileName[1]==0 ) )) 
        { 
            if (wfd.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY) 
            { 
    
          fprintf(file,"%s\n",wfd.cFileName);
    		Sleep(1000);		
              } 
            else 
            { 
    
         fprintf(file,"%s\n",wfd.cFileName);
                   Sleep(1000);            
            } 
        } (FindNextFile(fHandle,&wfd));
    } 
    while (1);
    FindClose(fHandle);
    
    fclose (file);
    return 0;
    
    }
    


  • Ich nehm mal an dass es was mit der Formatierung ("%s") zutun hat oder ich das zuerst umwandeln muss aba da bin ich überfragt.



  • 1. Mach mal nach
    b[0]=a[0];
    noch ein
    b[1] = 0;

    2. Gib mal vor FindFirstFile mit MessageBox(0,b,0,0); b aus.

    3. Prüf auch, ob fHandle != INVALID_HANDLE_VALUE ist.

    4. Warum hast du eine do ... while(1)-Schleife und keine do ... while (FindNextFile(...))-Schleife?



  • Hallo,

    k das mit b[1] hab ich gemacht,
    mir wird einfach der zusammengesetzte Pfad (der richtig ist) ausgegeben.

    fHandle ist gültig

    MFG



  • danke->SOLVED



  • Theseus schrieb:

    danke->SOLVED

    Woran lags denn?



  • Ich weiss es nicht GENAU aber ich denke ich hab beim Pfad am Schluss (beim "\")
    kein "*" hinzugefügt


Anmelden zum Antworten