VC驿站

 找回密码
 加入驿站

QQ登录

只需一步,快速开始

有编程疑问吗?还请到提问专区发帖提问!
搜索
查看: 248|回复: 1

VC++基础班-[21]文件的基本操作之CFile

[复制链接]
01_avatar_middle
online_admins admin 发表于 2018-2-1 00:31:27 | 显示全部楼层 |阅读模式
------------------------------------------ Begin ----------------------------------------
①、文件的创建、打开、关闭;
文件的创建、打开:CFile::Open
文件的关闭:CFile::Close

CFile::modeCreate:以新建方式打开,如果文件不存在,则新建;如果文件已存在,把该文件长度置零,即清除文件原有内容;
CFile::modeNoTruncate:以追加方式打开,如果文件存在,打开并且不将文件长度置零,如果文件不存在,会抛出异常。
一般与CFile::modeCreate一起使用,则文件不存在时,新建一个文件;存在就进行追加操作;
CFile::modeReadWrite:以读写方式打开文件;
CFile::modeRead:以只读方式打开文件;
CFile::modeWrite:以只写方式打开文件;
CFile::modeNoInherit:阻止文件被子进程继承;
CFile::ShareDenyNone:不禁止其它进程读或写访问,打开文件。如果文件已被其它进程以兼容模式打开,则Create失败;
CFile::ShareDenyRead:打开文件,禁止其它进程读此文件。如果文件已被其它进程以兼容模式打开,或被其它进程读,则Create失败;
CFile::ShareDenyWrite:打开文件,禁止其它进程写此文件。如果文件已被其它进程以兼容模式打开,或被其它进程写,则Create失败;
CFile::ShareExclusive:以独占模式打开文件,禁止其它进程对文件的读写。如果文件已经以其它模式打开读写(即使被当前进程),则构造失败;
CFile::ShareCompat:此标志在32位MFC中无效。此标志在使用CFile::Open时映射为CFile::ShareExclusive;
CFile::typeText:对回车换行设置特殊进程(仅用于派生类);
CFile::typeBinary:设置二进制模式(仅用于派生类);

②、文件的读写:
读操作:CFile::Read //当函数的返回值小于参数指定读取的数值时,表明已经读到了文件的末尾;
写操作:CFile::Write

③、读取或写入一行数据:class CStdioFile : public CFile
从文件中读一行数据:CStdioFile::ReadString
写一行数据到文件中:CStdioFile::WriteString

④、文件指针位置的设置:
将文件的指针移动到文件的任意位置:CFile::Seek //※ 如果指定为 CFile::end 的时候,偏移量必须为负数;
将文件指针移动到文件的头部:CFile::SeekToBegin
将文件指针移动到文件的尾部:CFile::SeekToEnd

⑤、刷新缓存数据到文件:CFile::Flush

######################################################
MFC 中的 CFile 及其派生类中没有提供直接进行文件的复制操作,因而要借助于SDK API;
SDK中的文件相关函数常用的有CopyFile()、CreateDirectory()、DeleteFile()、MoveFile()

⑥、文件的复制:CopyFile
若要复制文件夹,可以在目标位置新建一文件夹,然后将源文件夹里面的文件进行遍历,一个一个的复制到目标文件夹内即可!

⑦、文件的重命名或移动[适用于文件夹]:
static CFile::Rename 重命名文件;
MoveFile,※※※注意:该函数不仅可以移动文件,还可以移动目录,包括目录中的文件和子目录,但是目录的移动只能限制在一个驱动器;
即:统一驱动器内为重命名操作,不同驱动器内为移动操作;

⑧、文件的删除:CFile::Remove 或 DeleteFile
如果文件有只读属性怎么办?普通的方法还能删除成功吗?

------------------------------------- End -------------------------------------------

相关课程演示细节还请观看视频教程!
本套教程由VC驿站原创,提供视频教程+售后答疑服务!
教程介绍及详情请见:http://www.cctry.com/thread-17282-1-1.html
VC驿站Vip会员详情请见:http://www.cctry.com/static/vip/index.html




上一篇:VC++基础班-[20]实现一个简单的计算器
下一篇:VC++基础班-[22]文件的基本操作2

发帖求助前要善用论坛搜索功能,那里可能会有你要找的答案;

如果你已经在论坛发帖求助,并且从坛友或者管理的回复中解决了问题,请编辑帖子并把分类改成【已解决】

如何回报帮助你解决问题的坛友?可以给对方加【热心】【驿站币】,加分不会扣除自己的积分,做一个热心并受欢迎的人!

您需要登录后才可以回帖 登录 | 加入驿站 qq_login

本版积分规则

关闭

站长提醒上一条 /1 下一条

QQ
QQ在线咨询
联系电话
13591366679
手机扫一扫 关注本站精彩内容
wxqrcode

QQ|小黑屋|手机版|VC驿站 ( 辽ICP备09019393号tongdun|网站地图wx_jqr

GMT+8, 2018-10-20 13:39

Powered by Discuz! X3.4

© 2009-2018 cctry.com

快速回复 返回顶部 返回列表