基于WINAPI的文件操作
来源:互联网 发布:淘宝产品的活动方案 编辑:程序博客网 时间:2024/05/20 23:03
原文地址 http://read.newbooks.com.cn/info/126910.html
WINAPI提供了两种文件操作函数,一组是为了和16位程序兼容,这种函数比较简单;而另一种是专门为32位程序设计,在使用时就显得麻烦些,下面我就把这两组函数一一介绍:
一、和16位程序兼容的一组函数
函数说明对应BCB库函数_lopen()打开文件FileOpen()_lclose()关闭文件FileClose()_lread()读文件FileRead()_lwrite()写文件FileWrite()_llseek()文件定位FileSeek()_lcreat()创建文件FileCreate()⑴_lopen
原型:HFILE _lopen(
LPCSTR lpPathName, // 文件名
int iReadWrite //文件存取方式
);
功能:打开文件,成功返回其句柄,与此类似的还有个OpenFile()函数,可自行查阅帮助文件。
参数说明:lpPathName是要打开的文件名,iReadWrite是文件存取方式,主要有3种方式:
- OF_READ:以只读方式打开
- OF_READWRITE:以读写方式打开
- OF_WRITE:以只写方式打开
还有如 OF_SHARE_COMPAT 等属性,由于不太常用,为里就不一一介绍了。
⑵_lclose()
原型:HFILE _lclose( HFILE hFile);
功能:关闭文件,成功返回0
参数说明:hFile:要关闭的句柄
⑶_lread()
原型:UINT _lread( HFILE hFile, // 文件句柄
LPVOID lpBuffer, // 保存数据的缓冲区
UINT uBytes // 要读取的长度
);
功能:读文件,返回实际读取的字符数,与此类似的还有个_hread()函数,可自行查阅帮助文件。
⑷_lwrite()
原型:UINT _lwrite( HFILE hFile, // 文件句柄
LPCSTR lpBuffer, // 保存数据的缓冲区
UINT uBytes // 要写的长度
);
功能:写文件,返回实际写的字符数,与此类似的还有个_hwrite()函数,可自行查阅帮助文件。
⑸_llseek()
原型:LONG _llseek( HFILE hFile, // 文件句柄
LONG lOffset, // 移动的量
int iOrigin // 移动的基准位置
);
功能:移动文件的读写位置,成功返回移动后的文件读写位置
参数说明:iOrigin的取值是以下三种情况之一:
- FILE_BEGIN:文件头部
- FILE_CURRENT:文件当前位置
- FILE_END:文件尾部
⑹_lcreat()
原型:HFILE _lcreat( LPCSTR lpPathName, //要创建的文件名
int iAttribute // 文件属性
);
功能:创建文件,成功返回其句柄
参数说明:文件属性是以下值的和:
- 0:普通文件
- 1:只读文件
- 2:隐含文件
- 4:系统文件
这几个函数的用法和所列的BCB库函数差不多,建议使用BCB的库函数。可参阅前文基于BCB库函数的文件操作。
二、32位程序专用文件操作函数
WINAPI中还有一组32位程序专用的文件操作函数,这也是M$推荐使用的函数,但我还是推荐使用BCB的库函数,除非功能不足,由于此类函数众多,我就只对重要的作简要介绍,如果真需要时可查询帮助系统。
函数功能CreateFile()创建或打开一个文件CopyFile(),CopyFileEx()拷贝文件CreateDirectory(),CreateDirectoryEX()创建目录DeleteFile()删除文件GetDriveType()获取驱动器类型GetFileAttributes(),GetFileAttributesEx()获取文件属性GetFileSize()获取文件字节大小GetFullPathName()取得文件全路径文件名GetShortPathName()取得文件8.3格式全文件名GetTempFileName()生成一个临时文件名GetTempPath()取临时文件名的路径LockFile(),LockFileEx()锁文件MoveFileEx()移动或更名文件ReadFile(),ReadFileEx()读文件SearchPath()搜寻文件SetFileAttributes()设置文件属性SetFilePoint()设置文件读写位置UnLockFile(),UnLockFileEx()对文件解除锁定WriteFile(),WriteFileEx()写文件
- 基于WINAPI的文件操作
- 基于WINAPI的文件操作
- WinApi操作ini文件
- WinAPI文件操作
- INI文件操作(WINAPI)
- 基于C的文件操作
- 基于C的文件操作
- 基于C的文件操作
- 基于BCB的文件操作
- 基于C的文件操作
- 基于BCB的文件操作
- 基于Linux的文件操作
- 基于文件描述符的文件操作
- 基于文件流的文件操作
- 重要的参考winapi没有mfc的操作
- WinAPI C读写文件?
- WinAPI 读取DXF文件
- C++文件操作之一 :基于C的文件操作
- linux下yum
- 避免 UNIX 和 Linux 中的常见错误
- SweetyGirls
- Java的ClassLoader与Package机制
- Start my second app for android
- 基于WINAPI的文件操作
- Windows Service的安装,卸载,启动以及调试.
- 用形象的比喻学编程
- 利用正则表达
- 如何利用APC缓冲PHP脚本来提高服务器性能
- T2-J
- lib和dll的区别
- 称职怪圈
- sql注入--------学习篇一