当前位置: 首页 > news >正文

检查文件名是否含不可打印字符的C++代码源码

本篇文章属于《518抽奖软件开发日志》系列文章的一部分。

我在开发《518抽奖软件》(www.518cj.net)的时候,有时候需要检查输入的是否是合法的文件名,文件名是否含不可打印字符等。代码如下:

//-------------------------------------
//-1: 含不可打印字符
// 0:无效
// 1: 有效
//-------------------------------------
int Tapp::is_validFlnm(const WCHAR* name)
{if (!name || *name == 0) return 0;int len = 0;for (int i = 0; 1; i++){if (name[i] == 0) {len = i;break;}if (name[i] == L'\\' || name[i] == L'/' || name[i] == L':' ||name[i] == L'*' || name[i] == L'?' || name[i] == L'\"' ||name[i] == L'<' || name[i] == L'>' || name[i] == L'|') return 0;WORD type = 0;GetStringTypeW(CT_CTYPE1, &name[i], 1, &type);if (type & C1_CNTRL) return -1;}if (name[len - 1] == L'.' || name[len - 1] == L' ' || name[0] == L' ')return 0;return 1;
}

http://www.lryc.cn/news/164477.html

相关文章:

  • 学习笔记-正则表达式
  • Wireshark TS | 网络路径不一致传输丢包问题
  • CMake高级用法实例分析(学习paddle官方的CMakeLists)
  • 数据采集: selenium 自动翻页接口调用时的验证码处理
  • IDEA安装翻译插件
  • DBeaver使用
  • Nougat:一种用于科学文档OCR的Transformer 模型
  • redis八股1
  • 人工智能基础-趋势-架构
  • Date日期工具类(数据库日期区间问题)
  • 为什么需要 TIME_WAIT 状态
  • Linux——(第七章)文件权限管理
  • Scala在大数据领域的崛起:当前趋势和未来前景
  • 前端面试经典题--页面布局
  • 【webrtc】接收/发送的rtp包、编解码的VCM包、CopyOnWriteBuffer
  • Bash常见快捷键
  • 软件验收测试
  • Java 与零拷贝
  • AI性能指标解析:误触率与错误率
  • count(*) 和 count(1) 有什么区别?哪个性能最好?
  • 橡胶密封件为什么会老化?
  • Uboot中bootargs以及bootcmd设置
  • 冠达管理:减肥药概念再度爆发,常山药业两连板,翰宇药业等大涨
  • 实现在外网SSH远程访问内网树莓派的详细教程
  • Pytorch框架详解
  • 2023年9月制造业NPDP产品经理国际认证报名来这错不了
  • linux(centos7)配置SSH免密登录
  • cf 交互题
  • 成都瀚网科技有限公司:抖音怎么绑定抖音小店才好?
  • 大数据组件-Flink环境搭建