3

我必须用 C++ 编写 CreateFile 函数 我写了这个,但它没有用

#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;
}

错误 C2664:“CreateFileW”:无法将参数 1 从“const char [10]”转换为“LPCWSTR”

我该如何解决这个错误?

4

1 回答 1

7

CreateFileW错误消息告诉您它正在尝试调用CreateFile. 您需要向它传递一个宽字符而不是常规字符;

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

更多信息可以在这里找到

于 2012-09-22T18:10:09.573 回答