我想更具体地了解一下,winapi的搜索模式*.*和*搜索模式之间有什么区别FindFirstFile?
GetWindowsDirectoryA( buffer2, sizeof(buffer2) );
strcat(buffer2, "\\*");
handle = FindFirstFileA(buffer2, &data);
Run Code Online (Sandbox Code Playgroud)
这些不是正则表达式.它们是基于通配符的简单搜索模式.
实际上*和之间没有区别*.*.这些通配符模式的规则可以追溯到DOS.Raymond Chen在这里解释了DOS规则:通配符在MS-DOS中是如何工作的?因为*.*与*DOS中的相同,为了兼容性,在Win32中维护了这种等价.
但是FCB匹配算法的一些怪癖仍然存在于Win32中,因为它们已成为惯用语.
例如,如果您的模式结束
.*,.*则忽略该模式.如果没有这个规则,模式*.*将只匹配包含点的文件,这可能会破坏地球上所有批处理文件的90%,以及每个人的肌肉记忆,因为每个运行Windows NT 3.1的人都在一个*.*意味着世界的地方长大所有文件.
| 归档时间: |
|
| 查看次数: |
256 次 |
| 最近记录: |