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. ...
随机推荐
- 使用Java正则表达式的分组解析身份证的年月日
根据Java的Pattern和Matcher类通过分组解析出身份证的年月日: public class GetDateInIdCard { public static void main(String ...
- Python之re模块
参考:http://www.cnblogs.com/PythonHome/archive/2011/11/19/2255459.html 这个模块提供了与 Perl 相似l的正则表达式匹配操作.Uni ...
- SYS_CONTEXT 详细用法
SELECT SYS_CONTEXT ('USERENV', 'TERMINAL') terminal, SYS_CONTEXT ('USERENV', 'LANGUAGE') lang ...
- poj3415
很久以前写的,忘补结题报告了两串相连中间用特殊的分隔符然后求height,由于要求求公共子串大于等于k的个数,并且只要位置不同即可因此不难想到在名次上对height分组,一组内的height保证> ...
- constant
- 蓝桥杯--算法训练 区间k大数查询
算法训练 区间k大数查询 时间限制:1.0 ...
- poj 1696 Space Ant(模拟+叉积)
Space Ant Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 3840 Accepted: 2397 Descrip ...
- weekend110(Hadoop)的 第四天笔记
(2015年1月18日) 课程目录 01-复习 02-hadoop中的序列化机制 03-流量求和mr程序开发 04-hadoop的自定义排序实现 05-mr程序中自定义分组的实现 06-shuffle ...
- YII安装smarty-view-renderer扩展
smarty-view-renderer http://www.yiiframework.com/extension/smarty-view-renderer/ 相关下载及介绍:https://git ...
- 解决IE6浏览器下position:fixed固定定位问题
像你所遇到的问题一样, IE6浏览器有太多的bug让制作网页的人头疼.这篇文章介绍的是介绍的是如何解决IE6不支持position:fixed;属性的办法.如果我们需要做某个元素始终位于浏览器的底部, ...