关于写文件(系统API函数&CFile类)
来源:互联网 发布:排水管45度计算法图解 编辑:程序博客网 时间:2024/05/29 09:31
写文件是编程中很常用的手段。我们通常可以利用系统提供的API函数CreateFile去创建或打开一个文件(是创建还是打开在参数中可以设置)
HANDLE CreateFile(
LPCTSTR lpFileName, //文件名
DWORD dwDesiredAccess, //访问模式
DWORD dwShareMode, //共享模式
LPSECURITY_ATTRIBUTES lpSecurityAttributes, //设为NULL
DWORD dwCreationDisposition, //创建方式
DWORD dwFlagsAndAttributes, //属性
HANDLE hTemplateFile
);
然后如果返回的句柄不是INVALID_HANDLE_VALUE时就代表打开或创建成功了。然后利用可以写文件和读文件了
BOOL WriteFile(
HANDLE hFile, //CreateFile反回的句柄
LPCVOID lpBuffer, //包含写向文件的数据
DWORD nNumberOfBytesToWrite, //数据包含的字符串个数
LPDWORD lpNumberOfBytesWritten,
LPOVERLAPPED lpOverlapped
);
BOOL ReadFile(
HANDLE hFile, ////CreateFile反回的句柄
LPVOID lpBuffer,
DWORD nNumberOfBytesToRead,
LPDWORD lpNumberOfBytesRead,
LPOVERLAPPED lpOverlapped
);
其中还有几个很有用的函数比如
BOOL SetEndOfFile( //把文件目前的Pointer挪到文件尾
HANDLE hFile
);
DWORD SetFilePointer( //设置文件目前的Pointer
HANDLE hFile,
LONG lDistanceToMove,
PLONG lpDistanceToMoveHigh,
DWORD dwMoveMethod
);
此外还有系统几个函数比如:
BOOL SetFileAttributes( //设置文件属性
LPCTSTR lpFileName,
DWORD dwFileAttributes
);
BOOL GetFileTime( //取得文件时间
HANDLE hFile,
LPFILETIME lpCreationTime,
LPFILETIME lpLastAccessTime,
LPFILETIME lpLastWriteTime
);
BOOL SetFileTime( //设置文件时间
HANDLE hFile,
const FILETIME* lpCreationTime,
const FILETIME* lpLastAccessTime,
const FILETIME* lpLastWriteTime
);
以上是利用系统的API函数来实现读写文件的方法
MFC中有一个封装了以上这些API函数操作的类叫做CFile类。一般对文件操作方法都有。而且更加简单易用。
- 关于写文件(系统API函数&CFile类)
- 关于写文件(系统API函数&CFile类)
- 文件操作API和CFile类
- 文件操作API和CFile类
- 文件操作API和CFile类
- 文件操作API和CFile类
- 孙鑫VC学习笔记:第十二讲 用API函数、CFile类操作文件
- 孙鑫VC学习笔记:第十二讲 (四) 用API函数、CFile类操作文件
- Cfile.flush(),快速写文件
- VC++编程中的文件操作API和CFile类
- 解读VC++编程中的文件操作API和CFile类
- 解读VC++编程中的文件操作API和CFile类
- 解读VC++编程中的文件操作API和CFile类
- 解读VC++编程中的文件操作API和CFile类
- 解读VC++编程中的文件操作API和CFile类
- 解读VC++编程中的文件操作API和CFile类
- 解读VC++编程中的文件操作API和CFile类
- VC++编程中的文件操作API和CFile类
- 三种策略让你赚到100万
- 设置打印时的CSS样式
- 获取窗口句柄
- 使用CSS处理长字符串
- 解决打包安装中出现 【无法在磁盘上找到项“Microsoft.Net.Framework.3.5.SP1”中的 xxxxx 】
- 关于写文件(系统API函数&CFile类)
- iPhone UI in Windows Mobile
- C#自定义改写GridView的分页控件功能
- 杭电ACM 1274---展开字符串 解题报告
- js event 兼容问题
- 初识 Lucene
- COM组件设计与应用(一)
- 运行Lucene自带例子
- Random Thoughts #3 实名制