飘云阁

 找回密码
 加入我们

QQ登录

只需一步,快速开始

查看: 3953|回复: 0

[C/C++] 仿windows dir.exe

  [复制链接]
  • TA的每日心情
    无聊
    2023-3-14 13:51
  • 签到天数: 31 天

    [LV.5]常住居民I

    发表于 2014-3-27 13:23:59 | 显示全部楼层 |阅读模式
    1. #include <windows.h>
    2. #include <stdio.h>

    3. DWORD ListDir(LPSTR szPath)
    4. {
    5. WIN32_FIND_DATA ListFile;
    6. HANDLE hListFile;
    7. CHAR szFilePath[MAX_PATH];
    8. SYSTEMTIME stFileTime;

    9. lstrcpy(szFilePath, szPath);
    10. lstrcat(szFilePath, "\\*");
    11. hListFile = FindFirstFile(szFilePath, &ListFile);
    12. if (hListFile != INVALID_HANDLE_VALUE)
    13. {
    14. do
    15. {
    16. FileTimeToSystemTime(&ListFile.ftCreationTime, &stFileTime);
    17. printf("%d-%02d-%02d %02d:%02d\t", stFileTime.wYear, stFileTime.wMonth, stFileTime.wDay, stFileTime.wHour, stFileTime.wMinute);
    18. if (ListFile.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY)
    19. {
    20. printf("<DIR>\t");
    21. }
    22. else
    23. {
    24. printf("\t%ld", ListFile.nFileSizeHigh * (MAXDWORD + 1) + ListFile.nFileSizeLow);
    25. }
    26. printf("\t%s\n", ListFile.cFileName);
    27. }while (FindNextFile(hListFile, &ListFile));
    28. }
    29. return 0;
    30. }

    31. int main(int argc, PCHAR argv[])
    32. {
    33. if (argc == 2)
    34. {
    35. ListDir(argv[1]);
    36. }
    37. else
    38. {
    39. CHAR szCurPath[MAX_PATH];
    40. GetCurrentDirectory(MAX_PATH, szCurPath);
    41. ListDir(szCurPath);
    42. }
    43. return 0;
    44. }
    复制代码

    评分

    参与人数 1威望 +40 飘云币 +40 收起 理由
    飘云 + 40 + 40 很给力!

    查看全部评分

    PYG19周年生日快乐!
    您需要登录后才可以回帖 登录 | 加入我们

    本版积分规则

    快速回复 返回顶部 返回列表