C++ の CreateFile 関数の使用方法

C++でCreateFile関数を使ってファイルの作成またはオープンを行う場合、次の手順に従います。

  1. ヘッダーファイルを含める:
#include <Windows.h>
  1. ファイルハンドルの変数を定義する
HANDLE hFile;
  1. CreateFile関数を呼び出す:
hFile = CreateFile(
LPCTSTR lpFileName,  // 文件名
DWORD dwDesiredAccess,  // 访问模式
DWORD dwShareMode,  // 共享模式
LPSECURITY_ATTRIBUTES lpSecurityAttributes,  // 安全属性
DWORD dwCreationDisposition,  // 如何创建文件
DWORD dwFlagsAndAttributes,  // 文件属性
HANDLE hTemplateFile  // 模板文件句柄
);

パラメータの説明:

  1. lpFileName:絶対パスまたは相対パスの、作成またはオープンするファイル名。
  2. dwDesiredAccess:アクセスモード(定数GENERIC_READ が読み取り、GENERIC_WRITE が書き込みを表し、その他定数を組み合わせることも可能)。
  3. dwShareMode:共有モード、読み取り可能を示す定数FILE_SHARE_READ、書き込み可能を示す定数FILE_SHARE_WRITEを使用、または他の定数の組み合わせを使用可能
  4. lpSecurityAttributes: セキュリティ属性。通常、NULL に設定します。
  5. dwCreationDisposition:ファイルを作成する方法。CREATE_ALWAYS 定数は常に新しいファイルを作成し、OPEN_ALWAYS 定数はファイルが存在しない場合は新しいファイルを作成し、ファイルが存在する場合はそれを開きます。
  6. dwFlagsAndAttributes: ファイル属性、通常のファイルを表すには定数FILE_ATTRIBUTE_NORMALを使用するか、他の定数を組み合わせて使用します。
  7. hTemplateFile:テンプレートファイルのハンドル。通常は NULL に設定されます。
  1. ファイルハンドルが有効かどうか確認する:
if (hFile == INVALID_HANDLE_VALUE) {
// 文件句柄无效,创建或打开文件失败
DWORD dwError = GetLastError();
// 处理错误
} else {
// 文件句柄有效,创建或打开文件成功
// 在这里可以继续对文件进行读写操作
}

注意点:

  1. ファイルを操作し終えたら、CloseHandle関数を用いてファイルハンドルを閉じ、システムリソースを解放する必要があります。
  2. ファイルへのデータ書き込みにはWriteFile関数、ファイルからのデータ読み込みにはReadFile関数を使用します。
bannerAds