1 使用C++标准库过滤Windows文件名中的非法字符
在windows系统上有一些字符识别是不能存在于文件名之中的,不然会导致创建文件失败,所以写了一个过滤函数过滤文件名中的非法字符:
代码示例:
template <typename T>
bool MatchInvalidCharPredicate(const T& t)
{
unsigned char t1 = (unsigned char)t;
if (t1 <= 0x1F
|| t1 == 0x7F
|| t1 == 0x5C // \
|| t1 == 0x2F // /
|| t1 == 0x3A // :
|| t1 == 0x2A // *
|| t1 == 0x3F // ?
|| t1 == 0x22 // "
|| t1 == 0x3C // <
|| t1 == 0x3E // >
|| t1 == 0x7C // |
)
{
return true;
}
return false;
}
template<typename C, class T>
void FilterInvalidFileNameChar(T& c)
{
std::replace_if(c.begin(), c.end(), MatchInvalidCharPredicate<C>, L'_');
}
void TestFilterInvalidFileNameChar()
{
std::wstring wss(L"/as中国fasdfas?asdfas*dfa.txt");
FilterInvalidFileNameChar<wchar_t>(wss);
std::cout << "======TestFilterInvalidFileNameChar=================" << std::endl;
std::wcout << Unicode2Ansi(wss.c_str()) << std::endl;
}
本文作者:StubbornHuang
版权声明:本文为站长原创文章,如果转载请注明原文链接!
原文标题:C++ – 使用C++标准库过滤Windows文件名中的非法字符
原文链接:https://www.stubbornhuang.com/632/
发布于:2020年01月09日 17:32:04
修改于:2023年06月26日 22:46:47
当前分类随机文章推荐
- C++ - Asio和Boost.Asio的区别 阅读290次,点赞0次
- C++ - 左值和右值,右值引用与移动语义的概念与理解 阅读738次,点赞1次
- Windows - 使用类的成员函数作为Win32窗口消息回调处理函数WindowProc 阅读1379次,点赞0次
- C++ - 在CTC解码算法后移除相邻重复和blank索引 阅读587次,点赞0次
- GCC/G++中编译优化选项-O -O0 -O1 -O2 -O3 -Os -Ofast -Og -Oz各自的区别和作用 阅读5692次,点赞4次
- C++ - 使用Websocket++编写客户端连接WebSocket服务器并进行通信 阅读5108次,点赞3次
- C++ - 使用正则判断字符串是否全是中文 阅读1665次,点赞0次
- C++ - single header跨平台高效开源日志库Easylogging++的配置和使用 阅读956次,点赞0次
- CMake - 设置Debug或者Release编译模式 阅读3978次,点赞0次
- C++ - 随机洗牌算法,std::random_shuffle和std::shuffle 阅读2256次,点赞2次
全站随机文章推荐
- Duilib - 修改程序图标以及任务栏图标 阅读694次,点赞0次
- 资源分享 - Foundations of 3D computer graphics 英文高清PDF下载 阅读1732次,点赞0次
- 资源分享 - AI Game Programming Wisdom 英文高清PDF下载 阅读1547次,点赞1次
- C++ - 获取当前进程内存使用情况 阅读10588次,点赞10次
- 资源分享 - OpenGL编程指南(原书第9版)- OpenGL红宝书高清带书签PDF下载 阅读15248次,点赞4次
- 杂谈 - 2021年度总结 阅读1985次,点赞0次
- C++ - 使用Spout2将视频流发送到OBS 阅读216次,点赞0次
- WordPress - wp_login_url函数详解 阅读2837次,点赞0次
- OpenCV - 使用findContours()查找图片轮廓线,并将轮廓线坐标点输出 阅读5224次,点赞0次
- 资源分享 - 光线跟踪算法技术 Ray Tracing form the Ground Up中文版PDF下载 阅读1550次,点赞0次
评论
169