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));

posted @ 2009-07-29 23:23  trace007  阅读(2103)  评论(0编辑  收藏  举报