【C++学习笔记】文件操作编程基础

  • 需要用到的几个函数
//*********************************************************************************************************************
HANDLE CreateFile(LPCTSTR lpFileName,                         // file name
				  DWORD dwDesiredAccess,                      // access mode
				  DWORD dwShareMode,                          // share mode
				  LPSECURITY_ATTRIBUTES lpSecurityAttributes, // SD
				  DWORD dwCreationDisposition,                // how to create
				  DWORD dwFlagsAndAttributes,                 // file attributes 一般为FILE_ATTRIBUTE_NORMAL 默认属性
				  HANDLE hTemplateFile                        // handle to template file 一般为0
				  );
//参数信息
DWORD dwDesiredAccess:
	#define GENERIC_READ          (0x80000000L)
	#define GENERIC_WRITE         (0x40000000L)
DWORD dwShareMode:
	#define FILE_SHARE_READ                 0x00000001  
	#define FILE_SHARE_WRITE                0x00000002  
	#define FILE_SHARE_DELETE               0x00000004  
DWORD dwCreationDisposition:
	#define CREATE_NEW            1 //创建文件,如文件存在则会出错
	#define CREATE_ALWAYS         2 //创建文件,会改写前一个文件
	#define OPEN_EXISTING         3 //文件必须已经存在,由设备提出要求
	#define OPEN_ALWAYS           4 //如文件不存在则创建它
	#define TRUNCATE_EXISTING     5 //将现有文件缩短为零长度
//返回值
	HANDLE//正常返回文件句柄
	INVALID_HANDLE_VALUE//出错
//*********************************************************************************************************************
BOOL ReadFile(HANDLE hFile,                      // handle to file
			  LPVOID lpBuffer,                   // data buffer
		      DWORD nNumberOfBytesToRead,        // number of bytes to read
			  LPDWORD lpNumberOfBytesRead,       // number of bytes read
			  LPOVERLAPPED lpOverlapped          // overlapped buffer 一般设置为NULL
			  );
//*********************************************************************************************************************
BOOL WriteFile(HANDLE hFile,                     // handle to file
			   LPCVOID lpBuffer,                 // data buffer
		   	   DWORD nNumberOfBytesToWrite,      // number of bytes to write
			   LPDWORD lpNumberOfBytesWritten,   // number of bytes written
			   LPOVERLAPPED lpOverlapped         // overlapped buffer 一般设置为NULL
			   );
//*********************************************************************************************************************
DWORD SetFilePointer(HANDLE hFile,                // handle to file
					 LONG lDistanceToMove,        // bytes to move pointer
					 PLONG lpDistanceToMoveHigh,  // bytes to move pointer
					 DWORD dwMoveMethod           // starting point
					 );
//参数信息
DWORD dwMoveMethod
	#define FILE_BEGIN           0
	#define FILE_CURRENT         1
	#define FILE_END             2
//*********************************************************************************************************************
BOOL CloseHandle(HANDLE hObject);


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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值