1、删除,复制,移动文件函数
//DeleteFile(_T("C:\\Users\\HP\\Desktop\\a.txt"));
CopyFile(_T("C:\\Users\\HP\\Desktop\\a.txt"), _T("C:\\Users\\HP\\Desktop\\b.txt"), FALSE);
MoveFile(_T("C:\\Users\\HP\\Desktop\\a.txt"), _T("C:\\Users\\HP\\Desktop\\b.txt"));
可以看出比较简单,copyfile第三个参数为false时意味着目标文件存在时会覆盖该目标文件,true时遇到目标文件存在会返回错误。
2、文件的创建打开与关闭
创建与打开:CreateFile(磁盘,控制台缓冲区等也是可以),通过参数表明是创建新文件还是打开原有文件。有七个参数:
第一个:要创建或打开文件的路径
第二个:代表权限。generalread或generalwrite表示对文件已经读或者写;
第三个参数代表共享模式,比如share_read表示可以一起读,但是不能一起写,和原子操作差不多
第四个为安全描述符,通常为NULL;
第五个参数是一个DWORD类型,表示当创建同名文件存在时执行什么操作。
第六个设置文件的属性,只读,隐藏等;
第七个一般直接为NULL;
返回值:
成功返回文件句柄,错误返回错误;
关闭文件句柄
closehandle(打开的文件返回的句柄);
3、获取文件大小的两种方式
getfilesize()函数,第一个参数传入该文件句柄;
第二个参数传入一个DWORD指针只能接受32位,接受高端部分的值,不需要可以为NULL;
需要的情况是文件大小大于4GB,需要高32位
还有一种是getfilesizeex()函数,更方便,不用自己设置高端值,第一个参数也是句柄,第二个参数是一个结构体指针。直接64位
4、文件读写(最常用)
Writefile()
第一个参数是句柄,第二个执行写入的起始位置。第三个参数代表写入字符长度。第四个参数传出值,是真正写了多少字节;最后一个参数通常为NULL,异步时需要传入结构体,
返回值是true,false;
readfile()
第一个依旧是文件句柄,第二个是缓冲区指针,存放读取的数据,第三个是要读的长度,第四个是实际长度,最后一个参数通常为NULL,异步时需要传入结构体,
5、文件指针
setfilepointer();
一般我们不需要关注文件指针,除非需要自己设置文件指针。比如大文件断点续传
6 文件的查找和遍历
findfirstfile(),findnextfile()