VC++文件相关操作的函数封装实现
在开发编译工具中,需要用到文件的相关操作,于是就封装了相关的函数实现:
//判断文件是否存在
BOOL FileIsExist(CString strFileName)
{
CFileFind finder;
BOOL bWorking = finder.FindFile(strFileName);
while(bWorking)
{
return TRUE;
}
return FALSE;
}
//获取ini文件信息
CString GetIniString(CString strAppName, CString strKeyName, CString strDefault, CString strFileName)
{
CString strRet;
const int nMaxLength = 1024;
GetPrivateProfileString(strAppName, strKeyName, strDefault,strRet.GetBuffer(nMaxLength), nMaxLength,strFileName);
strRet.ReleaseBuffer();
return strRet;
} // 得到文件的后缀名
CString GetFileExtension(CString fileName)
{
CString strFileNameExt = TEXT(""); int nPosExt = fileName.ReverseFind(TEXT('.'));
strFileNameExt = fileName.Right(fileName.GetLength() - nPosExt - 1);
return strFileNameExt;
} //获取运行路径
CString GetRunPath()
{ TCHAR cbFilename[MAX_PATH + 1]={'\0'};
GetModuleFileName(NULL, cbFilename, MAX_PATH);
CString strPath=cbFilename;
strPath=strPath.Left(strPath.ReverseFind('\\'));
return strPath;
} // 根据一个路径创建目录
void CreatePath(CString strPath)
{
CString dirName;
CString strSub;
CString strDrive;
int nPos = 0; nPos = strPath.Find(TEXT(":"));
dirName = strPath.Right(strPath.GetLength() - nPos -1);
strDrive = strPath.Left(nPos + 1);
int ia = 1;
while (1)
{
AfxExtractSubString(strSub, dirName, ia, TEXT('\\'));
if (TEXT("") == strSub)
{
break;
}
ia++;
strDrive += TEXT("\\") + strSub;
if (!PathFileExists(strDrive))
{
CreateDirectory(strDrive, NULL);
}
}
} // 删除一个目录下的所有文件
bool DeleteDirFiles(CString strDir)
{
// CreateDirectory(strDir, NULL);
CreatePath(strDir);
CFileFind finder;
CString strFindDir; strFindDir.Format(TEXT("%s\\*.*"), strDir);
// MessageBox(strFindDir);
BOOL bWorking = finder.FindFile(strFindDir);
while(bWorking)
{
bWorking = finder.FindNextFile(); if (!finder.IsDirectory())
{
DeleteFile(finder.GetFilePath());
}
}
finder.Close();
return false;
} //根据路径获取文件名
CString GetFileNameFromPath(CString strPath)
{
CString strDirName = TEXT(""); int nPos = strPath.ReverseFind(TEXT('\\'));
if (-1 != nPos)
{
strDirName = strPath.Right(strPath.GetLength() - nPos -1);
} return strDirName;
}
VC++文件相关操作的函数封装实现的更多相关文章
- Git基本命令 -- 基本工作流程 + 文件相关操作
可以先找一个已经被git管理的项目, 我就使用这个项目吧: https://github.com/solenovex/ID3-Editor 基本工作流程 克隆以后呢, 进入该目录查看一下状态: 然后添 ...
- python文件相关操作
Python文件相关操作 打开文件 打开文件,采用open方法,会将文件的句柄返回,如下: f = open('test_file.txt','r',encoding='utf-8') 在上面的代码中 ...
- Nodejs文件相关操作
欢迎关注我的博客我在马路边 适用人群 本文适用于刚接触Node的小白,毕竟我也是小白,大佬请绕行. Node文件操作 在实际开发中遇到很多有关文件及文件夹的操作,比如创建.删除文件及文件夹,文件拷贝. ...
- 【Linux 应用编程】文件IO操作 - 常用函数
Linux 系统中的各种输入输出,设计为"一切皆文件".各种各样的IO统一用文件形式访问. 文件类型及基本操作 Linux 系统的大部分系统资源都以文件形式提供给用户读写.这些文件 ...
- IO文件相关操作
IO编程 IO 即Input/Output input stream 就是数据从外面(磁盘.网络)流进内存,output stream 就是数据从内存流到外面去. 通常cpu 和 内存的速度远远高于 ...
- UNIX高级环境编程(5)Files And Directories - 文件相关时间,目录文件相关操作
1 File Times 每个文件会维护三个时间字段,每个字段代表的时间都不同.如下表所示: 字段说明: st_mtim(the modification time)记录了文件内容最后一次被修改的时 ...
- c语言中文件相关操作
一 .首先介绍一下数据文件的类型: 1.二进制文件(映像文件):在内存中以二进制形式存取. 2.文本文件(ascii文件):以ascii码形式存取的文件. 通俗的讲,在Mac下,你把一个文件丢进记事本 ...
- UWP中的文件相关操作
最近开始做UWP开发,图省事儿就把自己之前一个Winform项目的一部分代码拷贝到了新写的UWP项目中来.整出了一些幺蛾子,下面做一个记录. 首先提一个重点就是:UWP里关于文件的操作尽量用Stora ...
- 【原创】Linux基础之gz文件相关操作
gz文件不需要解压即可进行相关操作 $ zcat test.log.gz $ zmore test.log.gz $ zless test.log.gz $ zgrep '1.2.3.4' test. ...
随机推荐
- js template
http://garann.github.io/template-chooser/ http://www.gbin1.com/technology/javascript/20120917-javasc ...
- CAS单点登录配置[2]:证书生成
上一篇介绍了准备工作,本片将介绍如何生成证书. 服务器端证书 1 我们在F盘下建立一个cas文件夹,在此文件夹中生成证书文件,打开命令窗口,进入此目录下,如图: 2 生成服务器端证书, 此命令用于在当 ...
- C#学习笔记一:C#开发环境的设置
C#是.NET Framework的一部分,用于编写.NET应用程序. C#集成开发环境(IDE) 微软提供了以下C#编程开发工具: Visual Studio 2010 (VS) Visual C# ...
- leetcode面试准备:Divide Two Integers
leetcode面试准备:Divide Two Integers 1 题目 Divide two integers without using multiplication, division and ...
- jquery 提示插件 cluetip
jquery的 插件cluetip, 地址下载是:plugins.learningjquery.com/cluetip/demo/ 下面简单讲解下用法: 1 首先当然要放JQUERY的基本JS,和这个 ...
- Ehcache详细解读(转)
Ehcache 是现在最流行的纯Java开源缓存框架,配置简单.结构清晰.功能强大,最初知道它,是从Hibernate的缓存开始的.网上中文的EhCache材料 以简单介绍和配置方法居多,如果你有这方 ...
- Vijos_1218_数字游戏_(划分型动态规划+环状动态规划)
描述 https://vijos.org/p/1218 给出n个数围成一个环,将其划分成k个部分,每个部分求和再对10取模,最后将每个部分的值相乘,求其最大值与最小值. 描述 丁丁最近沉迷于一个数字游 ...
- [转]Unity 3D旋转矢量方向及二维平面基于一点选择另一点(Rotate a Vector3 direction & Rotate a point about another point in 2D )
http://specialwolf.blog.163.com/blog/static/124466832201301332432766/ ****************************** ...
- NET Framework GAC目录构造
转:http://www.yl1001.com/userzone.htm?doaction=article&art_id=5851381388387201 我们一般都知道,.NET Frame ...
- loadrunner 与Md5
loadrunner 与Md5 1.新建个c vuser脚本 2.把cmd5.h导入脚本 3.在脚本中,引入cmd5.h,可以在action前面加个void,但要屏蔽return 来自为知笔记(Wiz ...