介绍几个程序中关于"路径字符串"的函数
2016-01-12 20:27
513 查看
程序中经常用到获取路径。
之前的博客也讲到过关于获取路径的一些操作。
获取系统特殊目录
比如使用SHGetFolderPath函数获取windows系统的一些目录:
以上为函数原型,其中nFolder指定要获取的目录(具体参考MSDN说明)
CSIDL_BITBUCKET 回收站
CSIDL_CONTROLS 控制面板
CSIDL_DESKTOP Windows 桌面Desktop
CSIDL_DESKTOPDIRECTORY Desktop的目录
CSIDL_DRIVES 我的电脑
CSIDL_FONTS 字体目录
CSIDL_NETHOOD 网上邻居
CSIDL_NETWORK 网上邻居虚拟目录
CSIDL_PERSONAL 我的文档
CSIDL_PRINTERS 打印机
CSIDL_PROGRAMS 程序组
CSIDL_RECENT 最近打开的文档
CSIDL_SENDTO “发送到”菜单项
CSIDL_STARTMENU 任务条启动菜单项
CSIDL_STARTUP 启动目录
CSIDL_TEMPLATES 文档模板
判断一个目录是否存在
直接上代码了:
判断一个路径是否存在中文
中文路径总是困扰着我们,尤其是使用sqlite数据库的时候。所以,有时候你希望写一个函数来判断一个路径中是否含有中文。
判断文件是否存在
之前的博客也讲到过关于获取路径的一些操作。
获取系统特殊目录
比如使用SHGetFolderPath函数获取windows系统的一些目录:
HRESULT SHGetFolderPath( HWND hwndOwner, int nFolder, HANDLE hToken, DWORD dwFlags, LPTSTR pszPath );
以上为函数原型,其中nFolder指定要获取的目录(具体参考MSDN说明)
CSIDL_BITBUCKET 回收站
CSIDL_CONTROLS 控制面板
CSIDL_DESKTOP Windows 桌面Desktop
CSIDL_DESKTOPDIRECTORY Desktop的目录
CSIDL_DRIVES 我的电脑
CSIDL_FONTS 字体目录
CSIDL_NETHOOD 网上邻居
CSIDL_NETWORK 网上邻居虚拟目录
CSIDL_PERSONAL 我的文档
CSIDL_PRINTERS 打印机
CSIDL_PROGRAMS 程序组
CSIDL_RECENT 最近打开的文档
CSIDL_SENDTO “发送到”菜单项
CSIDL_STARTMENU 任务条启动菜单项
CSIDL_STARTUP 启动目录
CSIDL_TEMPLATES 文档模板
判断一个目录是否存在
直接上代码了:
#include<iostream> #include<Windows.h> bool FolderExists(std::wstring s); int main() { std::cout << FolderExists(L"D:/lcwin") << std::endl; } bool FolderExists(std::wstring s) { DWORD attr; attr = GetFileAttributes(s.data()); return (attr != (DWORD)(-1)) && (attr & FILE_ATTRIBUTE_DIRECTORY); }
判断一个路径是否存在中文
bool HaveChineseChar(std::wstring path) { bool bHaveChineseChar = FALSE; for (size_t i = 0; i < path.length(); i++) { if (path.at(i) > 255) { bHaveChineseChar = TRUE; break; } } return bHaveChineseChar; }
中文路径总是困扰着我们,尤其是使用sqlite数据库的时候。所以,有时候你希望写一个函数来判断一个路径中是否含有中文。
判断文件是否存在
bool isFileExist(const char * strFileName) { if (_access(strFileName, 0) == 0) { return true; } return false; }
相关文章推荐
- Java泛型
- 简单的缓冲区溢出试验
- hadoop_Hbase_pinpoint 环境搭建
- c++ 设计模式 代理
- 介绍几个程序中关于"路径字符串"的函数
- hdoj5430Reflect【欧拉函数】
- CodeForces--606A --Magic Spheres(模拟水题)
- 好书推荐之Java Web整合开发王者归来
- CodeForces--606A --Magic Spheres(模拟水题)
- Presorting
- LeetCode 9.Palindrome Number
- 管理员必备的20个Linux系统监控工具
- cocos2dx--两个场景切换各函数调用顺序
- 《实时控制软件设计》第三组第八天工作日志
- 2016/01/12开始学习git:版本如何回退
- 学习mongo系列(八)密码与权限
- 设计模式之禅之设计模式-原型模式
- Ibatis学习总结7--SqlMapClient 执行 SQL 语句
- 使用git掌握这些命令就够啦
- 为何网易以贵金属交易切入互联网金融,出奇制胜?