Win32中文件的操作
1 文件的创建或打开
HANDLE CreateFile( LPCTSTR lpFileName, //文件路径和名称
DWORD dwDesiredAccess, //访问方式,最常用的值是GENERIC_READ,GENERIC_WRITE或两 个:GENERIC_READ|GENERIC_WRITE.
DWORD dwShareMode, //共享模式,FILE_SHARE_DELETE,FILE_SHARE_READ,FILE_SHARE_WRITE
LPSECURITY_ATTRIBUTES lpSecurityAttributes, //安全属性,不同身份是否能打开
DWORD dwCreationDisposition, //创建方式
DWORD dwFlagsAndAttributes, //文件属性,只读或隐藏
HANDLE hTemplateFile //拷贝的文件句柄
);
2 文件的关闭
BOOL CloseHandle(HANDLE hObject ); //要关闭的句柄
3 文件的数据写入
BOOL WriteFile( HANDLE hFile, //文件句柄
LPCVOID lpBuffer, //写入数据的BUFF的地址
DWORD nNumberOfBytesToWrite, //写入数据的BUFF的长度
LPDWORD lpNumberOfBytesWritten, //返回被写入数据的长度
LPOVERLAPPED lpOverlapped //默认NULL
);
4 文件的数据读取
BOOL ReadFile( HANDLE hFile, // 文件句柄
LPVOID lpBuffer, //读入数据的BUFF的地址
DWORD nNumberOfBytesToRead, //读入数据的BUFF的长度
LPDWORD lpNumberOfBytesRead, //返回被读入数据的长度
LPOVERLAPPED lpOverlapped //默认NULL
);
5 获取文件长度
DWORD GetFileSize( HANDLE hFile, //文件的句柄
LPDWORD lpFileSizeHigh //高32位
); //返回值是低32位
文件的长度64位 = (低32位, 高32位 )
6 设置文件指针
DWORD SetFilePointer( HANDLE hFile, //文件的句柄
LONG lDistanceToMove, //偏移量,低32位
PLONG lpDistanceToMoveHigh, //偏移量,高
DWORD dwMoveMethod //相对位置,FILE_BEGIN,FILE_CURRENT,FILE_END
);
返回值是返回偏移量的低32
7 拷贝文件
BOOL CopyFile( LPCTSTR lpExistingFileName, //源文件路径
LPCTSTR lpNewFileName, //目的文件路径
BOOL bFailIfExists //是否覆盖目的同名文件,FALSE为覆盖
);
8 删除文件
BOOL DeleteFile(LPCTSTR lpFileName ); //要删除的文件
9 文件的属性
9.1 GetFileAttributes
DWORD GetFileAttributes(LPCTSTR lpFileName ); //文件名
返回值是获取到的文件的属性标示
9.2 GetFileAttributesEx
BOOL GetFileAttributesEx(LPCTSTR lpFileName, //文件名
GET_FILEEX_INFO_LEVELS fInfoLevelId, //获取文件属性信息的级别
LPVOID lpFileInformation //对应级别的数据结构的地址
);
9.3 设置文件属性
BOOL SetFileAttributes( LPCTSTR lpFileName, //文件名 pointer to filename
DWORD dwFileAttributes //属性标示
);
10 文件的查找
1 查找文件
HANDLE FindFirstFile( LPCTSTR lpFileName, //查找的路径
LPWIN32_FIND_DATA lpFindFileData //返回查找信息
);
返回值 - 查找句柄
2 获取查找到的结果
BOOL FindNextFile( HANDLE hFindFile, //查找句柄
LPWIN32_FIND_DATA lpFindFileData //返回查找信息
);
返回值 - 成功是TRUE
3 关闭查找
BOOL FindClose( HANDLE hFindFile //查找句柄
);
Win32中文件的操作的更多相关文章
- OC中文件的操作
OC中文件操作,在之前的文章中,已经接触到了文件的创建了,但是那不是很具体和详细,这篇文章我们就来仔细看一下OC中是如何操作文件的: 第一.首先来看一下本身NSString类给我们提供了哪些可以操作文 ...
- Perl中文件读取操作
Perl中文件读取操作 http://blog.csdn.net/yangxuan12580/article/details/51506216
- loadrunner中文件的操作
loadrunner中文件的操作 我们可以使用fopen().fscanf().fprintf().fclose()函数进行文件操作,但是因为LoadRunner不支持FILE数据类型,所以我们需要做 ...
- Python中文件的操作
文件的操作介绍 文件打开的方法 主要有两种: no with 格式:open(file, mode='r', buffering=-1, encoding=None, errors=None, new ...
- (C/C++学习)2.C语言中文件流操作基本函数总结
函数所在头文件:stdio.h 说明:前半部分主要为对各个文件流操作函数的例举,后半部分着重于上机运行分析.文中部分引用自王桂林老师的C/C++课件. 1.FIELE *fopen(const cha ...
- c语言中文件相关操作
一 .首先介绍一下数据文件的类型: 1.二进制文件(映像文件):在内存中以二进制形式存取. 2.文本文件(ascii文件):以ascii码形式存取的文件. 通俗的讲,在Mac下,你把一个文件丢进记事本 ...
- C++中文件流操作
一.C++中流和流操作符 C++中把数据之间的传输操作称为流,流既可以表示数据从内存传送到某个载体或设备中,即输出流,也可以表示数据从某个载体或设备传送到内存缓冲区变量中,即输入流.C++输入输出除了 ...
- c语言中文件的操作
所谓“文件”是指一组相关数据的有序集合.这个数据集有一个名称,叫做文件名.实际上在前面的各章中我们已经多次使用了文件,例如源程序文件.目标文件.可执行文件.库文件 (头文件)等. 文件通常是驻留在外部 ...
- Win32中目录的操作
1 系统和当前目录 1.1 获取Windows目录 UINT GetWindowsDirectory( LPTSTR lpBuffer, //BUFF的地址 UINT uSize //BUFF ...
随机推荐
- (转) Spring读书笔记-----部署我的第一个Spring项目
一.Spring介绍 Spring是一个轻量级的Java EE容器,它也是一种从实际需求出发,着眼于轻便,灵活,易于开发,易测试和易部署的轻量级开发框架.Spring它完成了大量开发中的通用步骤,留给 ...
- 对java框架的几点认识
java框架实在是太多了,网上一抄一大段,根本就了解不到什么.我还是以我的经验来说一下j2ee的框架.1.首先力推struts2框架,这是最经典的框架(可以说没有“之一”).可以帮你快速搭建出一个MV ...
- SQL Server2008 附加数据库失败 错误代码5120
由于目录权限不够导致 ,解决办法:将文件所在的文件夹增加everyone 并且赋予完全控制权限问题解决
- python中文问题汇总
1.中文路径 #-*-coding:utf-8-*- path=ur'E:\accumulate\Python\语法\08输入和输出\1.txt' #python内部使用的是unicode,不加前缀u ...
- iOS开发内购图文教程
2015年最全的内购图文教程,首先是填各种资料,最后是代码,废话不多说,直接上图 ======================第一部分协议=============== 第一步.png 第二步.jpg ...
- Java小例子(学习整理)-----学生管理系统-控制台版
1.功能介绍: 首先,这个小案例没有使用数据库,用集合的形式暂时保存数据,做测试! 功能: 增加学生信息 删除学生信息 修改学生信息 查询学生信息: 按照学号(精确查询) 按照姓名(模糊查询) 打 ...
- Python 统计代码行
正在学习 Python, 做了个统计代码行的功能, 参考了网上很多前辈的帖子,添加了感觉还是比较实用的功能, 只是windows下测试了,而且代码文件编码形式是 utf-8的. 如果使用其它编码形式的 ...
- Android DropBoxManager Service
Android DropBoxManager Service 什么是 DropBoxManager ? Enqueues chunks of data (from various sources – ...
- 浅析tornado web框架
tornado简介 1.tornado概述 Tornado就是我们在 FriendFeed 的 Web 服务器及其常用工具的开源版本.Tornado 和现在的主流 Web 服务器框架(包括大多数 Py ...
- ubuntu下Qt之android环境配置以及一些常见问题解决
准备材料有: 1. qt for android 5.×版本,下载地址如下,可以选择一个合适自己机器型号的版本进行下载. 地址:http://www.qt.io/download-open-sourc ...