3 Stimmen

WinAPI CreateFile-Funktion

Ich muss die Funktion CreateFile in C++ schreiben. Ich habe dies geschrieben, aber es hat nicht funktioniert

#include <iostream>
#include <windows.h>
#include <string>
using namespace std;

int main()
{
    HANDLE hfile = CreateFile(
           ".\temp.txt",                // "\\.\C:" 
           GENERIC_READ, 
           0,
           NULL,
           CREATE_NEW,
           FILE_ATTRIBUTE_NORMAL,
           NULL);

    //if (hFile == INVALID_HANDLE_VALUE) cout << "Unable to create file \n";
    return 0;
}

Fehler C2664: 'CreateFileW' : kann Parameter 1 nicht von 'const char [10]' nach 'LPCWSTR' konvertieren

Wie kann ich diesen Fehler beheben?

7voto

Joachim Isaksson Punkte 170533

Die Fehlermeldung besagt, dass es versucht, die CreateFileW das ist die Version mit breiten Buchstaben von CreateFile . Sie müssen ein wide char-Literal anstelle eines regulären char-Literal übergeben;

hfile = CreateFile(
       L".\\temp.txt",               // Notice the L for a wide char literal 
       GENERIC_READ, 
       0,
       NULL,
       CREATE_NEW,
       FILE_ATTRIBUTE_NORMAL,
       NULL);

Mehr Infos können hier gefunden werden .

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X