首页 >后端开发 >C++ >如何验证字符串是否为合法的 Windows 文件名?

如何验证字符串是否为合法的 Windows 文件名?

Mary-Kate Olsen
Mary-Kate Olsen原创
2025-01-24 16:37:11852浏览

How Can I Validate a String as a Legal Windows Filename?

确保Windows文件名有效性

在应用程序中集成文件名重命名功能时,务必确保输入的目标文件模式符合Windows命名约定。虽然基本的正则表达式可以捕获字母数字字符,但它们无法适应特定语言的字符。

Windows有效文件名的规则:

根据Microsoft的文档,有效的Windows文件名遵循以下约定:

  • 当前代码页中的任何字符(Unicode/ANSI大于127)都是有效的,但以下字符除外:
    • : " / | ? *
    • 整数表示在0到31之间的字符(ASCII空格除外)
    • 目标文件系统不允许的字符(例如,尾随句点或空格)
    • 保留的DOS名称(例如,CON、PRN、AUX)
  • 仅由句点组成的文件名无效。

可选注意事项:

  • 最大文件路径长度(包括文件名):260个字符(不包含?前缀)
  • 使用?前缀的最大Unicode文件路径长度(包括文件名):32,000个字符

以上是如何验证字符串是否为合法的 Windows 文件名?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn