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++实现读取特定路径下文件夹及文件名的方法
本文所述实例代码主要实现读取给定路径下的所有文件夹名称或所有带后缀的文件名的功能.具体解决方法如下: 主要用到了以下几个头文件(类):io.h, fstream, string. 首先,读取某给定路径下所有文件夹与文件名称,并带完整路径.实现代码如下: void getAllFiles( string path, vector<string>& files) { //文件句柄 long hFile = 0; //文件信息 struct _finddata_t fileinfo;
-
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++检查某个文件或目录是否存在的函数代码,分享给大家供大家参考.具体实现方法如下: #include <Windows.h> BOOL FileExists(LPCTSTR lpszFileName, BOOL bIsDirCheck) { //试图取得文件属性 DWORD dwAttributes = ::GetFileAttributesA(lpszFileName); if ( INVALID_FILE_ATTRIBUTES == dwAttributes) { retu
-
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++递归删除一个目录实例
本文实例讲述了C++递归删除一个目录的实现方法.分享给大家供大家参考.具体方法如下: CFindFile的使用框架如下: 复制代码 代码如下: void Recurse(LPCTSTR pstr) { CFileFind finder; // build a string with wildcards CString strWildcard(pstr); strWildcard += _T("\\*.*"); // start work
-
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<<&
-
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;}
-
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/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++删除指定文件夹下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++循环创建多级目录 #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
随机推荐
- Windows 文件类型与打开方式定义方法
- jquery+CSS3实现3D拖拽相册效果
- docker初识之五分钟认识docker
- 一步一步实现iOS主题皮肤切换效果
- asp.net ListView 数据绑定
- 用python实现的可以拷贝或剪切一个文件列表中的所有文件
- Android中Listview点击item不变颜色及设置listselector 无效的解决方案
- javascript实现设置、获取和删除Cookie的方法
- ASP页面随机添加字符实现防复制的代码
- ASP.NET 字符串截取
- JavaScript实现的CRC32函数示例
- Android中用StaticLayout实现文本绘制自动换行详解
- php数组函数序列之end() - 移动数组内部指针到最后一个元素,并返回该元素的值
- jQuery判断指定id的对象是否存在的方法
- C#实现的字符串转MD5码函数实例
- C#中float的取值范围和精度分析
- php仿ZOL分页类代码
- 详解Python中的Numpy、SciPy、MatPlotLib安装与配置
- 解决Win10无法安装.Net Framework 3.5提示错误代码0x800F081F
- Django中cookie的基本使用方法示例