C++文件读写操作一 (API函数)

一、相关函数原型
1、CreateFile
创建或打开(文件  pipes  邮槽   通信资源   磁盘驱动器(仅适用于 windowsNT )  控制台  文件夹(仅用于打开) )、返回对象句柄

HANDLE CreateFile(
 LPCTSTR lpFileName,                                               // 指向文件名的指针
 DWORD dwDesiredAccess,                                      // 访问模式(GENERIC_READ / GENERIC_WRITE)
 DWORD dwShareMode,                                          // 共享模式
 LPSECURITY_ATTRIBUTES lpSecurityAttributes,       // 指向安全属性的指针
 DWORD dwCreationDisposition,                             // 如何创建
 DWORD dwFlagsAndAttributes,                             // 文件属性
 HANDLE hTemplateFile                                         // 用于复制文件句柄

);
2、WriteFile   
      写入

BOOL WriteFile(
  HANDLE hFile,                                            //文件句柄
  LPCVOID lpBuffer,                                     // 要写入的一个数据缓冲区
  DWORD nNumberOfBytesToWrite,             //要写入数据的字节数量
  LPDWORD lpNumberOfBytesWritten,         // 实际写入文件的字节数量
  LPOVERLAPPED lpOverlapped                   // OVERLAPPED结构体指针,
                                                             // 如果文件是以FILE_FLAG_OVERLAPPED方式打开的话,那么这个指针就不能为

NULL

);

3、ReadFile
      读取

BOOL ReadFile(
  HANDLE hFile,                                 //文件的句柄
  LPVOID lpBuffer,                             // 用于保存读入数据的一个缓冲区
  DWORD nNumberOfBytesToRead,    //要读入的字符数

  LPDWORD lpNumberOfBytesRead,    //指向实际读取字节数的指针

  LPOVERLAPPED lpOverlapped          //OVERLAPPED结构体指针,
                                                     // 如果文件是以FILE_FLAG_OVERLAPPED方式打开的话,那么这个指针就不能为NULL

);


二、例子:
1、写入记事本

 HANDLE hFile;
 hFile=CreateFile(_T("test.txt"),GENERIC_WRITE,0,NULL,CREATE_NEW,FILE_ATTRIBUTE_NORMAL,NULL);
 DWORD dwWrites;
 WriteFile(hFile,"hello,world!",strlen("hello,world!"),
 &dwWrites,NULL);
 CloseHandle(hFile);


2、读取记事本中文本

 HANDLE hFile;
 hFile=CreateFile(_T("test.txt"),GENERIC_READ,0,NULL,OPEN_EXISTING,FILE_ATTRIBUTE_NORMAL,NULL);
 char ch[100];
 DWORD dwReads;
 ReadFile(hFile,ch,100,&dwReads,NULL);
 ch[dwReads]=0;
 CloseHandle(hFile);
 MessageBox(CString(ch));

转载于:https://www.cnblogs.com/anhuizhxd/archive/2009/07/29/cfileone.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值