VC++获得当前进程运行目录的方法
本文实例讲述了VC++获得当前进程运行目录的方法,分享给大家供大家参考。具体实现方法如下:
该实例主要通过利用windows API获得,具体代码如下:
CString GetAppPath() {
CString strAppPath; // 保存结果
TCHAR szModuleFileName[MAX_PATH]; // 全路径名
TCHAR drive[_MAX_DRIVE]; // 盘符名称,比如说C盘啊,D盘啊
TCHAR dir[_MAX_DIR]; // 目录
TCHAR fname[_MAX_FNAME]; // 进程名字
TCHAR ext[_MAX_EXT]; //后缀,一般为exe或者是dll
if (NULL == GetModuleFileName(NULL, szModuleFileName, MAX_PATH)) //获得当前进程的文件路径
return FALSE;
_tsplitpath_s( szModuleFileName, drive, dir, fname, ext ); //分割该路径,得到盘符,目录,文件名,后缀名
strAppPath = drive;
strAppPath += dir;
return strAppPath;
}
以上代码在VS2008可编译并运行。(要求MFC application或dll)
希望本文所述对大家的VC++程序设计有所帮助。
相关推荐
-
C++检查某个文件或目录是否存在的函数
本文实例讲述了C++检查某个文件或目录是否存在的函数代码,分享给大家供大家参考.具体实现方法如下: #include <Windows.h> BOOL FileExists(LPCTSTR lpszFileName, BOOL bIsDirCheck) { //试图取得文件属性 DWORD dwAttributes = ::GetFileAttributesA(lpszFileName); if ( INVALID_FILE_ATTRIBUTES == dwAttributes) { retu
-
VC++ 使用 _access函数判断文件或文件夹是否存在
_access函数 int _access( const char *path, int mode ); int _waccess( const wchar_t *path, int mode ); 参数 path 文件或目录路径. mode 读/写特性. 返回值 如果文件包含特定模式,每个函数返回 0. 函数返回 - 1,则名称文件不存在或不具有特定模式:在这种情况下,如下表errno 所示设置. EACCES 访问被拒绝:文件权限的设置不允许指定的访问权限. ENOENT 未找到文件名或
-
c++判断是否为目录的示例分享
复制代码 代码如下: #include<sys/stat.h>#include<unistd.h>int is_dir(char *path){ struct stat buf; if(lstat(path , &buf) < 0){ return FALSE; } int ret = __S_IFDIR & buf.st_mode; if(ret){ return TRUE; } return FALSE;}
-
C++递归删除一个目录实例
本文实例讲述了C++递归删除一个目录的实现方法.分享给大家供大家参考.具体方法如下: CFindFile的使用框架如下: 复制代码 代码如下: void Recurse(LPCTSTR pstr) { CFileFind finder; // build a string with wildcards CString strWildcard(pstr); strWildcard += _T("\\*.*"); // start work
-
C/C++获取目录下的文件列表信息
1.数据结构 复制代码 代码如下: struct dirent{ long d_ino; /* inode number 索引节点号 */ off_t d_off; /* offset to this dirent 在目录文件中的偏移 */ unsigned short d_reclen; /* length of this d_name 文件名长 */ unsigned char d_type;
-
C++实现读取特定路径下文件夹及文件名的方法
本文所述实例代码主要实现读取给定路径下的所有文件夹名称或所有带后缀的文件名的功能.具体解决方法如下: 主要用到了以下几个头文件(类):io.h, fstream, string. 首先,读取某给定路径下所有文件夹与文件名称,并带完整路径.实现代码如下: void getAllFiles( string path, vector<string>& files) { //文件句柄 long hFile = 0; //文件信息 struct _finddata_t fileinfo;
-
详解C++循环创建多级目录及判断目录是否存在的方法
C++循环创建多级目录 #include "unitfiles.h" #ifdef WIN32 #include <direct.h> #include <io.h> #elif LINUX #include <stdarg.h> #include <sys/stat.h> #endif #ifdef WIN32 #define ACCESS _access #define MKDIR(a) _mkdir((a)) #elif LINUX
-
C++遍历文件夹下文件的方法
本文实例讲述了C++遍历文件夹下文件的方法.分享给大家供大家参考.具体如下: #include <windows.h> #include <stdio.h> #include <string.h> #define LEN 1024 // 深度优先递归遍历目录中所有的文件 BOOL DirectoryList(LPCSTR Path) { WIN32_FIND_DATA FindData; HANDLE hError; int FileCount = 0; char Fi
-
C++删除指定文件夹下N天及之前日志文件的方法
本文实例讲述了C++删除指定文件夹下N天及之前日志文件的方法.分享给大家供大家参考.具体如下: // 功能:删除nDays天及之前的日志文件 // @nDays: 0-不删除日志,3-删除3天及之前的日志(保留今天.昨天.前天的日志) ... void CRecordLog::ClearLog(UINT nDays) // 删除N天前的日志 { if (nDays > 0) { WIN32_FIND_DATA FindFileData; CString sAllFile = m_sLogFold
-
C++选择文件夹代码的封装
本文实例讲述了C++选择文件夹代码的封装,分享给大家供大家参考.具体方法如下: 该实例分为DirDialog.h头文件与DirDialog.cpp源文件. DirDialog.h头文件代码如下: 复制代码 代码如下: #pragma once #ifndef __DIRDIALOG_H_HH #define __DIRDIALOG_H_HH #include <Shlobj.h> class CDirDialog { protected: BROWSEINFO m_bi;
-
C/C++中如何判断某一文件或目录是否存在
1.C++很简单的一种办法: 复制代码 代码如下: #include <iostream>#include <fstream>using namespace std;#define FILENAME "stat.dat"int main(){ fstream _file; _file.open(FILENAME,ios::in); if(!_file) { cout<<FILENAME<<&
随机推荐
- Ruby中proc和lambda的两个区别
- 阿里云主机一键安装lamp、lnmp环境的shell脚本分享
- JAVA ArrayList详细介绍(示例)
- 使用webmagic实现爬虫程序示例分享
- Android中gson、jsonobject解析JSON的方法详解
- asp.net sql存储过程
- Android 面试题汇总
- C++设计模式编程中proxy代理模式的使用实例
- 用javascript实现记录来宾姓名的代码
- jQuery实现购物车表单自动结算效果实例
- Ubuntu中Opencv的安装使用教程
- Python爬虫之xlml解析库(全面了解)
- linux系统挂载数据盘的方法(视频图文教程)
- Python 读写文件和file对象的方法(推荐)
- PHP的压缩函数实现:gzencode、gzdeflate和gzcompress的区别
- 360通用php防护代码(使用操作详解)
- Android自定义GestureDetector实现手势ImageView
- 解决python打不开文件(文件不存在)的问题
- Django框架模型简单介绍与使用分析
- python 求某条线上特定x值或y值的点坐标方法