Windows中的错误's的FindFirstFile()函数



为什么用模式*.*调用FindFirstFileWindows这样的名称匹配?

编辑:我想我也可以猜测发生了什么,但也有关于原因的文档吗?

在博客文章"通配符如何在MS-DOS中工作?"Raymond Chen描述了最初的DOS通配符匹配是如何实现的。在文章的最后,他指出了*.*是如何作为Win32通配符匹配算法中的一个特殊情况来处理的。

后的报价

For example, if your pattern ends in .*, the .* is ignored. Without this rule, the pattern *.* would match only files that contained a dot, which would break probably 90% of all the batch files on the planet, as well as everybody's muscle memory, since everybody running Windows NT 3.1 grew up in a world where *.* meant all files.

*.*匹配目标目录中的所有内容。

这是因为*.匹配到最后一个周期;如果名称中没有句点,则将该名称视为以句点结束;所以*.只匹配以句点开头的名称和不包含句点的名称(.afile / adirname)。如果在*.*的末尾添加*,那么它也会匹配到最后一个句点之后,所以包括包含句点的文件名,这涵盖了所有可能的文件名。

相关内容

  • 没有找到相关文章

最新更新