Probleme mit CreateFile()



  • Servus,

    ich versuche eine Textdatei mit

    HANDLE fp;
    const char* file = "C:\\Dokumente\\Projekte\\test.txt";
    
    fp = CreateFile((LPCTSTR)file, GENERIC_READ,NULL, 0, OPEN_EXISTING, FILE_ATTRIBUTE_READONLY|FILE_FLAG_NO_BUFFERING, NULL);
    
    if(fp != (HANDLE) -1) {
      ReadFile(...);
    } else {
      GetLastError();
    }
    

    zu öffenen, um sie dann später in einen Buffer einlesen zu können.

    Nach der Funktion CreateFile() hat fp immer den Wert 0xffff was -1 entspricht und aussagt, dass das Öffnen der Datei fehlgeschlagen ist. Was mache ich hier falsch, warum kann die Datei nicht geöffnet werden? 😞



  • Benutze GetLastError(..) und lies die Doku zu CreateFile(..)



  • Dein String ist char:

    const char* file = "C:\\Dokumente\\Projekte\\test.txt";
    

    Die Funktion CreateFile() erwartet aber ein TCHAR-String:

    fp = CreateFile((LPCTSTR)file, .....
    

    Es sieht auf den ersten Blick so aus, als ob Dein Projekt auf Unicode eingestellt ist.
    Wenn dies so ist, dann ändere bitte char um in TCHAR oder wchar.

    Martin


Anmelden zum Antworten