21xrx.com
2024-12-22 21:04:09 Sunday
登录
文章检索 我的文章 写文章
C++如何获取目录
2023-07-06 14:35:57 深夜i     --     --
C++ 获取 目录

C++是一种高级编程语言,可以用来开发各种软件,包括操作系统、应用程序和游戏等。当我们需要获取一个目录中的文件列表时,就需要使用C++中提供的一些文件操作函数来实现。

在C++中,要获取一个目录的路径,我们可以使用getcwd函数,该函数可以获取当前的工作目录。例如,以下示例代码可以获取当前目录的路径:


#include <iostream>

#include <direct.h>

using namespace std;

int main()

{

  char path[1024];

  _getcwd(path, 1024);

  cout << "当前目录路径为:" << path << endl;

  return 0;

}

如果需要获取其他目录的路径,则可以先使用chdir函数切换到目标目录,然后再使用getcwd函数获取路径。例如,以下示例代码可以获取D盘根目录的路径:


#include <iostream>

#include <direct.h>

using namespace std;

int main()

{

  chdir("D:\\");

  char path[1024];

  _getcwd(path, 1024);

  cout << "D盘根目录路径为:" << path << endl;

  return 0;

}

获取目录下的文件列表可以使用Windows API中的FindFirstFile和FindNextFile函数。以下示例代码可以遍历当前目录下的所有文件,并输出它们的文件名和大小:


#include <iostream>

#include <windows.h>

using namespace std;

void listFiles()

{

  WIN32_FIND_DATA fd;

  HANDLE hFind = ::FindFirstFile("*", &fd);

  if (hFind != INVALID_HANDLE_VALUE)

  {

    do

    {

      if (!(fd.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY))

      {

        ULARGE_INTEGER li;

        li.LowPart = fd.nFileSizeLow;

        li.HighPart = fd.nFileSizeHigh;

        cout << fd.cFileName << "\t" << li.QuadPart << endl;

      }

    } while (::FindNextFile(hFind, &fd));

    ::FindClose(hFind);

  }

}

int main()

{

  listFiles();

  return 0;

}

以上是使用C++获取目录以及目录下文件列表的方法。在实际应用中,我们可以根据具体的需求进行进一步的开发和优化,以达到更好的效果。

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复