本帖最后由 CrLf 于 2014-9-30 17:55 编辑
用 tcc 试了下,好像 _findfirst 和 FindNextFile 都存在此问题,但奇怪的是和 dir 的输出又有那么点不太一样- #include <windows.h>
- #include <winbase.h>
- #include <io.h>
-
- int by_findfirst(char *path){
- struct _finddata_t FileInfo;
- long Handle;
- int i=0;
-
- if((Handle=_findfirst(path,&FileInfo))!=-1L)
- {
- while(!_findnext(Handle,&FileInfo))printf("%s\n",FileInfo.name,i++);
- _findclose(Handle);
- }
-
- return i;
- }
-
- int byFindFirstFile(char *path){
- WIN32_FIND_DATA FileInfo;
- long Handle;
- int i=0;
-
- if((Handle=FindFirstFile(path,&FileInfo))!=-1L){
- while(FindNextFile(Handle,&FileInfo))printf("%s\n",FileInfo.cFileName,i++);
- FindClose(Handle);
- }
-
- return i;
- }
-
- int main()
- {
- char path[999] = "352*.png";
-
- printf("\n_findfirst 共 %d 个结果\n\n",by_findfirst(path));
- printf("\nFindNextFile 共 %d 个结果\n\n",byFindFirstFile(path));
-
- return 0;
- }
复制代码 输出:
356话_005.png
352话_001.png
352话_002.png
352话_003.png
352话_004.png
352话_005.png
_findfirst 共 6 个结果
356话_005.png
352话_001.png
352话_002.png
352话_003.png
352话_004.png
352话_005.png
FindFirstFile 共 6 个结果
而 dir 352*.png 的结果是:
2014/09/29 14:53 3 355话_005.png
2014/09/29 14:53 3 356话_005.png
2014/09/29 14:53 3 352话_001.png
2014/09/29 14:53 3 352话_002.png
2014/09/29 14:53 3 352话_003.png
2014/09/29 14:53 3 352话_004.png
2014/09/29 14:53 3 352话_005.png
7 个文件 21 字节 |