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。通常の char リテラルではなく、ワイド char リテラルを渡す必要があります。

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 に答える