介绍几个程序中关于"路径字符串"的函数
来源:互联网 发布:手机淘宝店招在线制作 编辑:程序博客网 时间:2024/05/21 11:15
程序中经常用到获取路径。
之前的博客也讲到过关于获取路径的一些操作。
获取系统特殊目录
比如使用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;}
2 0
- 介绍几个程序中关于"路径字符串"的函数
- 介绍几个程序中关于"路径字符串"的函数
- 介绍几个C++程序中关于"时间"的函数
- 介绍几个关于C/C++程序调试的函数
- 介绍几个关于C/C++程序调试的函数
- 关于字符串的几个函数
- 关于字符串的几个有用函数
- 关于几个字符串操作的函数
- 编写关于字符串的几个常用函数
- 关于java中servlet中的路径的几个函数的例子
- java中几个常用的字符串函数
- QTP中几个截取字符串的函数
- C# 中几个截取字符串的函数
- 几个关于文件路径方面的函数,不断更新...
- qt中关于坐标的几个函数
- 关于fopen函数中路径名使用字符串的一点看法
- 几个常考的关于字符串的函数实现
- 关于几个求解函数极值方法的介绍
- C/C++ 底层的一些记录心得
- hadoop_Hbase_pinpoint 环境搭建
- c++ 设计模式 代理
- 简单的缓冲区溢出试验
- Java泛型
- 介绍几个程序中关于"路径字符串"的函数
- *addEventListener(" ", ,true(or false))中第三个元素选择true和false的区别
- 运行时runtime初探(强制获取并修改私有变量,强制增加及修改私有方法等)
- Leetcode 笔记
- uva1391Astronauts【2-SAT】
- Application lifecycle
- DSP28335-ePWM
- 响应式布局
- linux /sys目录下的各个子目录说明