您的位置:首页 > 编程语言 > C语言/C++

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

2013-08-27 11:08 627 查看
需要用到的几个函数
//*********************************************************************************************************************
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);
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: