21xrx.com
2024-12-23 02:31:38 Monday
登录
文章检索 我的文章 写文章
C++获取当前目录下的文件
2023-06-28 06:11:01 深夜i     --     --
C++ 获取当前目录 文件

在C++编程中,有时候我们需要获取当前目录下的文件名或获取特定目录下的文件列表。这在文件操作、批量处理等方面是比较常见的需求。下面介绍一些获取当前目录下的文件名的方法。

一、使用dirent.h库

dirent.h库提供了读取目录流中文件的方式,使用该库可以较为方便地获取当前目录下的文件名。

具体步骤如下:

1.头文件引入

#include

2.目录打开

DIR* dir;

struct dirent* file;

dir = opendir(".");

if (dir == NULL) {

  perror("open dir failed");

  exit(1);

}

3.文件名称读取

while ((file = readdir(dir)) != NULL) {

  printf("%s ", file->d_name);

}

4.目录关闭

closedir(dir);

二、使用Windows API

如果程序是在Windows环境中运行,则可以使用Windows API函数FindFirstFile和FindNextFile来获取当前目录下的文件名。

具体步骤如下:

1.头文件引入

#include

2.目录打开

HANDLE hFind;

WIN32_FIND_DATA FindFileData;

hFind = FindFirstFile("*.*", &FindFileData);

if (hFind == INVALID_HANDLE_VALUE) {

  printf("FindFirstFile failed\n");

  return 1;

}

3.文件名称读取

do {

  printf("%s\n", FindFileData.cFileName);

} while (FindNextFile(hFind, &FindFileData) != 0);

FindClose(hFind);

需要注意的是,该方法只适用于Windows环境下,不能在Unix/Linux环境下使用。

总结

通过上述两种方式,我们可以轻松获取当前目录下的文件名。需要注意的是,在使用上述代码时,要遵守相关的规则和约定,不要对系统或其他软件产生不良影响。

  
  

评论区

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