①、文件的创建、打开、关闭;
文件的创建、打开: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
如果文件有只读属性怎么办?普通的方法还能删除成功吗?
 
 

vc++基础班[21]---文件的基本操作之CFile的更多相关文章

  1. vc++基础班[22]---文件的基本操作2

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

  2. vc++基础班[23]---文件夹的基本操作

      ①.文件夹的创建:CreateDirectory ※※※ 注意:此函数只能创建一层目录,比如想在 C 盘下的 Temp 目录下创建新目录为:123 那么前提是 Temp 这个目录存在才可以!   ...

  3. vc++基础班[24]---系统各种路径信息的获取

    vc++基础班[24]---系统各种路径信息的获取 ------------------------------------------ Begin ------------------------- ...

  4. vc++基础班[25]---系统信息的获取

    --------------------------------------------------------------------------- VC 驿站 WwW.CcTry.CoM 多抽出一 ...

  5. python基础学习Day8 文件的基本操作

    1.文件的基本操作初识 f = open('a.text', 'r', encoding='utf-8')data = f.read()print(data)f.close() 2.读  r  r+b ...

  6. python基础知识六 文件的基本操作+菜中菜

    基础知识六 文件操作 ​ open():打开 ​ file:文件的位置(路径) ​ mode:操作文件模式 ​ encoding:文件编码方式 ​ f :文件句柄 f = open("1.t ...

  7. vc++基础班[27]---实现一个简单的任务管理器

      因为任务管理器中涉及到进程的枚举操作,所以把两节课的知识点合并到一起来讲!   ①.设计界面.以及列表控件变量的绑定: ②.列表控件样式的指定: m_TaskList.SetExtendedSty ...

  8. vc++基础班[26]---进程的相关操作

      ①.ShellExecute 进行进程的创建,属于 shell api: //int iRet = (int)ShellExecute(m_hWnd, _T("open"), ...

  9. git学习记录——基础概念和文件的基本操作

    夸一下git git是当前世界上最先进的分布式版本控制系统 优势: 1.不必联网 2.Git极其强大的分支管理,把SVN等远远抛在了后面. 集中式的代表CVS和SVN 分布式的代表BitKeeper, ...

随机推荐

  1. mybtis 基础

    一.什么是mybatis MyBatis 是一款优秀的持久层框架,它支持定制化 SQL.存储过程以及高级映射.MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集.MyBati ...

  2. nginx的rewrite指令

    需求:我们在接收到一个/api/upload 开头的url的时候 要转发到另外一个地址.但是又不想追加/api/upload  只想追加/upload 地址. Nginx提供了rewrite指令,用于 ...

  3. Java技能

    1.思维导图 Java知识思维导图 2 3.Java理解 深入理解Java:注解(Annotation)自定义注解入门 4.JAVA数据类型 基本数据类型 布尔类型:boolean 数值类型: 定点类 ...

  4. 2018牛客网暑期ACM多校训练营(第九场)A -Circulant Matrix(FWT)

    分析 大佬说看样例就像和卷积有关. 把题目化简成a*x=b,这是个xor的FWT. FWT的讲解请看:https://www.cnblogs.com/cjyyb/p/9065615.html 那么要求 ...

  5. vue中slot插槽

    插槽就是vue实现的一套内容分发的API,将插槽元素作为承载分发内容的出口. 也就是说在组件模板中默认占用一个位置,当使用组件标签时候,组件标签的内容就会自动替换掉内容 slot中可以设置一些默认的内 ...

  6. multiprocessing.Manager共享内存的问题记录

    问题:https://stackoverflow.com/questions/8640367/python-manager-dict-in-multiprocessing 使用 multiproces ...

  7. GNU Screen Usage

    分屏: 1.在终端输入screen命令 2.Ctrl+a 然后shift+s 上下分屏,切换到下方Ctrl+a tab然后新建一个window(Ctrl+a c) 3.切换到上方,Ctrl+a tab ...

  8. PowerDesigner设置一对一关系

    (1)修改Cardinalities 为One-one (2)设置Dominant role A->B(假设表A,表B),保存 (3)到Joins页,设置Parent为None,设置Parent ...

  9. None.js 第二步 REPL(交互式解析器)

    简单的表达式 $ node 1 + 4 // 5 5 / 2 // 2.5 3 * 5 // 15 使用变量 $ node x = 5 // 5 var y = 10 // undefined con ...

  10. Debian Security Advisory(Debian安全报告) DSA-4414-1 libapache2-mod-auth-mellon security update

    Debian Security Advisory(Debian安全报告) DSA-4414-1 libapache2-mod-auth-mellon security update Package:l ...