目录:

1.文件操作

1.1.获取文件大小

2.路径操作

2.1.创建多级目录

1.文件操作

1.1.获取文件大小

// 获取文件大小

ULONGLONG size = ;        // 文件大小
CFileStatus fileStatus;
if (CFile::GetStatus(csFullFile, fileStatus))
{
size = fileStatus.m_size;
}

代码注解:

①ULONGLONG:实际上表示的是整型数据(typedef unsigned long long ULONGLONG;)

②CFileStatus:一个记录文件信息的结构体变量,记录文件的创建时间、修改时间、最后访问时间、文件大小(单位:字节)、文件属性、文件绝对路径等信息[1]

struct CFileStatus
{
CTime m_ctime; // creation date/time of file
CTime m_mtime; // last modification date/time of file
CTime m_atime; // last access date/time of file
ULONGLONG m_size; // logical size of file in bytes
BYTE m_attribute; // logical OR of CFile::Attribute enum values
BYTE _m_padding; // pad the structure to a WORD
TCHAR m_szFullName[_MAX_PATH]; // absolute path name #ifdef _DEBUG
void Dump(CDumpContext& dc) const;
#endif
};

其中的CTime是一个时间类,可以通过其成员函数GetYear()、GetMonth()、GetDay()、GetHour()、GetMinute()、GetSecond()获取时间。

2.路径操作

2.1.创建多级目录

// 功能:创建多级目录
bool CreateMultiDirectory(CString& csFullPath)
{
// 判断路径是否存在
if (PathIsDirectory(csFullPath))
{
return true;
} int iPos = csFullPath.ReverseFind('\\');
CString csFormerPath = csFullPath.Left(iPos);
if (!PathIsDirectory(csFormerPath))
{
CreateMultiDirectory(csFormerPath);
} CreateDirectory(csFullPath, NULL); // 创建路径 return true;
}

代码注解:

①由于CreateDirectory()只能创建一个目录,因此要实现多级目录的创建,使用到了递归的方法

②PathIsDirectory()判断路径是否为一个有效路径,还有一个相似的函数PathFileExists()判断路径是否存在,使用需要加上头文件Shlwapi.h[2]

③ReverseFind()是字符串类CString的一个成员函数,用于逆向(从右往左)查找指定字符(字符串)第一次出现的位置

④Left()也是字符串类CString的一个成员函数,用于截取从字符串开始(位置0)到指定字符的字串

备注:

[1] CFileStatus结构中_m_padding还不确定含义

[2] 博文参考:windows路径操作API函数

MFC常用操作的更多相关文章

  1. c++ MFC图像处理CImage类常用操作代码

    原文作者:aircraft 原文地址:https://www.cnblogs.com/DOMLX/p/9598974.html MFC图像处理CImage类常用操作 CImage类头文件为#inclu ...

  2. NSString&NSMutableString常用操作梳理(转)

    作者:弦苦 授权本站转载. 上一篇梳理了NSArray&NSMutableArray常用操作,这次来梳理一下Objective-C中每天都要用到的字符串处理类——NSString. Objec ...

  3. MFC图片操作

    根据MFC要操作图片的来源,可分为以下两类: 一.非动态显示图片(即图片先通过资源管理器载入,有一个固定ID) 二.动态载入图片(即只需要在程序中指定图片的路径即可载入) 一.非动态显示图片 1.传送 ...

  4. NSString&NSMutableString常用操作梳理

    http://www.cocoachina.com/ios/20150724/12722.html 上一篇梳理了NSArray&NSMutableArray常用操作,这次来梳理一下Object ...

  5. 【三】用Markdown写blog的常用操作

    本系列有五篇:分别是 [一]Ubuntu14.04+Jekyll+Github Pages搭建静态博客:主要是安装方面 [二]jekyll 的使用 :主要是jekyll的配置 [三]Markdown+ ...

  6. php模拟数据库常用操作效果

    test.php <?php header("Content-type:text/html;charset='utf8'"); error_reporting(E_ALL); ...

  7. Mac OS X常用操作入门指南

    前两天入手一个Macbook air,在装软件过程中摸索了一些基本操作,现就常用操作进行总结, 1关于触控板: 按下(不区分左右)            =鼠标左键 control+按下        ...

  8. mysql常用操作语句

    mysql常用操作语句 1.mysql -u root -p   2.mysql -h localhost -u root -p database_name 2.列出数据库: 1.show datab ...

  9. nodejs配置及cmd常用操作

    一.cmd常用操作 1.返回根目录cd\ 2.返回上层目录cd .. 3.查找当前目录下的所有文件dir 4.查找下层目录cd window 二.nodejs配置 Node.js安装包及源码下载地址为 ...

随机推荐

  1. Jenkins+Github(Robotframework代码)

    个人记录,且为Windows10系统,仅供参考. 一. 准备 1. Github:安装git.注册github.将Robotframework代码更新到github. 2. Jenkins安装,并安装 ...

  2. selenium + python自动化测试unittest框架学习(六)分页

    接触的项目分页的形式是以下形式: 想要获取总页数后,遍历执行翻页的功能,但由于分页是以javascript方法实现的,每次点击确定按钮后,页面就回刷新,webelement元素过期无法遍历下一个进行翻 ...

  3. P2758 编辑距离

    题目描述 设A和B是两个字符串.我们要用最少的字符操作次数,将字符串A转换为字符串B.这里所说的字符操作共有三种: 1.删除一个字符: 2.插入一个字符: 3.将一个字符改为另一个字符: !皆为小写字 ...

  4. NYOJ 44 字串和 (最大字串和 线性dp)

    题目链接: http://acm.nyist.edu.cn/JudgeOnline/problem.php?pid=44 子串和 时间限制:5000 ms  |  内存限制:65535 KB 难度:3 ...

  5. python中安装第三方模块

    Python有两个封装了setuptools的包管理工具:easy_install和pip.目前官方推荐使用pip. 现在,让我们来安装一个第三方库——Python Imaging Library,这 ...

  6. Redis高级应用——2

    Redis-事务 Redis 事务可以一次执行多个命令, 并且带有以下两个重要的保证: 事务是一个单独的隔离操作,事务中的所有命令都会序列化.按顺序地执行.事务在执行的过程中,不会被其他客户端发送来的 ...

  7. 早上出现的zabbix启动错误

    之前根据教程安装好zabbix,MySQL的版本是5.1. 昨天无聊想升级成5.6.不过升级比较麻烦.我就直接把5.1删了再装5.6. 安装中途zabbix挂了一次.把5.6装上启动后就好了. 早上z ...

  8. SEO优化上首页之搜索引擎用户需求理解

    经过前面<搜索引擎原理SEO优化上首页之网络蜘蛛Spider>和<搜索引擎原理SEO优化上首页之内容处理与创建索引>介绍,搜索引擎已经完成页面抓取和分析,并把原始页面.索引等信 ...

  9. JavaWeb基础—MySQL入门小结

    一.数据库概述 RDBMS:关系型数据库管理系统 == 管理员(manager)+仓库(database) 常见数据库:  Oracle(神喻):甲骨文 MySQL: 归于甲骨文旗下(高版本系统已经开 ...

  10. python+soket实现UDP协议的客户/服务端中文聊天程序

    没什么特别的东西,网上烂大街的C/S框架.(基于windows 7 + python 3.4) 为了实现中文聊天,我加入了一点修改: msg.encode('utf-8') # msg 为输入(且将要 ...