コンパイルされない無効なコードを使用しています。文字列リテラルに間違った形式を使用しています。代わりにこれを試してください:あなたの唯一の仕事はそれを任意のI/Oを行うファイルを作成しなくすることである場合を除き、一緒
#include <windows.h>
int main() {
HANDLE hFile = CreateFile("c:\\nader", GENERIC_READ, FILE_SHARE_READ, NULL, CREATE_ALWAYS, FILE_ATTRIBUTE_NORMAL, NULL);
if (hFile != INVALID_HANDLE_VALUE) {
CloseHandle(hFile);
}
return 0;
}
GENERIC_READ
を使用して、言われていること
、FILE_SHARED_READ
、およびCREATE_ALWAYS
は意味がありません。 GENERIC_READ
はhFile
を読み取り専用にします。FILE_SHARE_READ
は、開かれている間に他の人が同じファイルに書き込むことができないようにします。CREATE_ALWAYS
は、ファイルが開かれても常に空であることを保証します。 hFile
から読む。ファイルからデータを読み取る場合は、少なくともCREATE_ALWAYS
をOPEN_EXISTING
またはOPEN_ALWAYS
のいずれかに変更してください。これにより、既存のファイルデータが読み取り用に保持されます。
正しいエスケープを使用してください: '' c:\\ nader "' –
戻り値とエラーコードを検査することは、常に良い考えです。 –
'#include'と '... var = ...'の前に 'CreateFile'があります。 –
i486