FindFirstFile oder FindFirstFileW



  • Hi!

    Ich benutze FindFirstFile, aber beim compilieren bekomme ich eine Fehlermeldung:

    'FindFirstFileW' : cannot convert parameter 1 from 'char [260]' to 'const unsigned short *'
    

    Ich will aber die Funktion FindFirstFileW nicht benutzen.

    Funktioniert einwandfrei:

    WIN32_FIND_DATA file;
    char buf[MAX_PATH] = {0};

    FindFirstFile(buf, &file);

    Die Funktion FindFirstFile will als erster Parameter unsigned short * haben.

    Das ist ok, aber warum funktioniert in einer Datei mit char buf[MAX_PATH] und
    in einer anderen nicht! Ich habe auch #define UNCODE ein uns ausgeschaltet, aber ohne Erfolg.

    Danke 🙂



  • Es hängt auf jeden Fall mit dem UNICODE Macro zusammen (heißt's nicht _UNICODE?). Anscheinend hast du es irgendwie aktiviert, ohne es zu merken.



  • Hi!

    Ich verwende FindFirstFile(buf, &file); mit

    char buf
    

    in einer anderen cpp Datei mit #define UNICODE und es funktioniert gnadenlos!?!

    Ich schaue noch einmal, ob ich es deaktivieren kann!



  • Es kommt natürlich darauf an, wo du es definierst. Wenn du es nach windows.h machst, bewirkt es nichts mehr.



  • Du hast recht.

    Kannst Du mir vielleicht sagen, ob ich nur in einer Funktion UNICODE abschalten kann!?!

    Wie z. B.

    foo()
    {
    #undef UNICODE
    
     code .....
    
    #define UNICODE --> muss ich wieder #define aufrufen? 
    }
    

    Ich habe es probiert, aber es hat nicht funktioniert! Deshalb habe ich angefangen die Funktion neu zuschreiben also mit wchar_t und nicht mit char.



  • Benutz doch entweder überall Unicode oder nirgendwo Unicode.



  • OK


Anmelden zum Antworten