如何判断一个字符串是否为合法的文件名?

一如当初 2013-07-02 11:22:29
需要验证仪个文件名是否合法

如在Windows下,"123.exe"是一个合法的文件名,而"?<>.exe"是非法的文件名

不知道Qt是否对此提供了封装函数?
...全文
1097 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
一去丶二三里 2013-07-04
  • 打赏
  • 举报
回复
引用 3 楼 aqtata 的回复:
[quote=引用 2 楼 u011012932 的回复:] 亲,使用正则表达式吧!就如Windows的文件名称合法性判断一样! 我就给你封装一个函数吧! bool Setting::isLegal(QString text) { if(text.isEmpty()) { return true; } bool is_legal = true; //正则表达式判断特殊字符 QString pattern("[\\\\/:*?\"<>|]"); QRegExp rx(pattern); int match = text.indexOf(rx); if(match >= 0) { is_legal = false; } return is_legal; }
谢谢,看来还是得自己敲代码[/quote] 亲,好好看看正则表达式吧!自己写代码就是一个学习的过程!哪有那么多现成的东西呢!很多东西都不难,只要善于思考很容易实现的!
一如当初 2013-07-04
  • 打赏
  • 举报
回复
引用 2 楼 u011012932 的回复:
亲,使用正则表达式吧!就如Windows的文件名称合法性判断一样! 我就给你封装一个函数吧! bool Setting::isLegal(QString text) { if(text.isEmpty()) { return true; } bool is_legal = true; //正则表达式判断特殊字符 QString pattern("[\\\\/:*?\"<>|]"); QRegExp rx(pattern); int match = text.indexOf(rx); if(match >= 0) { is_legal = false; } return is_legal; }
谢谢,看来还是得自己敲代码
一去丶二三里 2013-07-04
  • 打赏
  • 举报
回复
亲,使用正则表达式吧!就如Windows的文件名称合法性判断一样! 我就给你封装一个函数吧! bool Setting::isLegal(QString text) { if(text.isEmpty()) { return true; } bool is_legal = true; //正则表达式判断特殊字符 QString pattern("[\\\\/:*?\"<>|]"); QRegExp rx(pattern); int match = text.indexOf(rx); if(match >= 0) { is_legal = false; } return is_legal; }
xcyl 2013-07-02
  • 打赏
  • 举报
回复
用正则表达式

16,216

社区成员

发帖
与我相关
我的任务
社区描述
Qt 是一个跨平台应用程序框架。通过使用 Qt,您可以一次性开发应用程序和用户界面,然后将其部署到多个桌面和嵌入式操作系统,而无需重复编写源代码。
社区管理员
  • Qt
  • 亭台六七座
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧