WIN API 文件操作

1、创建文件

在 Windows 编程中,CreateFile() 是一个 Windows API 函数,用于创建或打开一个文件、文件夹、通信资源、磁盘分区等。这个函数提供了比标准 C++ 文件操作更详细的控制,包括安全属性、文件共享模式、文件创建方式等。

函数原型

HANDLE CreateFile(
  LPCSTR                lpFileName,
  DWORD                 dwDesiredAccess,
  DWORD                 dwShareMode,
  LPSECURITY_ATTRIBUTES lpSecurityAttributes,
  DWORD                 dwCreationDisposition,
  DWORD                 dwFlagsAndAttributes,
  HANDLE                hTemplateFile
);

参数说明

  • lpFileName: 要创建或打开的文件名。
  • dwDesiredAccess: 访问文件的方式,如读 (GENERIC_READ)、写 (GENERIC_WRITE) 或两者 (GENERIC_READ | GENERIC_WRITE)。
  • dwShareMode: 文件共享模式,如共享读 (FILE_SHARE_READ)、共享写 (FILE_SHARE_WRITE)。
  • lpSecurityAttributes: 指向 SECURITY_ATTRIBUTES 结构的指针,可以为 NULL
  • dwCreationDisposition: 控制如何创建或打开文件,如 CREATE_NEW, CREATE_ALWAYS, OPEN_EXISTING, OPEN_ALWAYS, TRUNCATE_EXISTING
  • dwFlagsAndAttributes: 文件或设备的属性,如 FILE_ATTRIBUTE_NORMAL
  • hTemplateFile: 用于复制文件属性的模板文件的句柄,通常设置为 NULL

返回值

如果函数成功,返回值是新创建或打开的文件的句柄。如果函数失败,返回值是 INVALID_HANDLE_VALUE。可以调用 GetLastError() 函数来获取更多错误信息。

示例代码

#include <windows.h>
#include <iostream>

int main() {
   
    // 创建或打开文件
    HANDLE hFile = CreateFile(
        "example.txt",                // 文件名
        GENERIC_READ | GENERIC_WRITE, // 读写访问
        0,                            // 不共享文件
        NULL,                         // 默认安全属性
        CREATE_NEW,                   // 创建新文件,如果文件存在则失败
        FILE_ATTRIBUTE_NORMAL,        // 普通文件属性
        NULL                          // 没有模板文件
    );

    if (hFile == INVALID_HANDLE_VALUE) {
   
        std::cerr << "Failed to create or open file. Error: " << GetLastError() << std
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值