21xrx.com
2025-04-17 21:27:04 Thursday
文章检索 我的文章 写文章
C++如何获取目录
2023-07-06 14:35:57 深夜i     13     0
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++获取目录以及目录下文件列表的方法。在实际应用中,我们可以根据具体的需求进行进一步的开发和优化,以达到更好的效果。

  
  

评论区

请求出错了