c++ - 如何使用 Glib(或任何其他库)列出目录中的所有文件?

标签 c++ c filesystems glib

我不知道如何使用 GLib(GIO?)列出给定目录中的所有文件(文件名?)。没有好的文档或教程。欢迎任何代码片段。如果不可能(或太麻烦)使用 GLib 执行此操作,是否有任何好的 C 或 C++ 第三方库可以执行此操作。除了 Boost.FileSystem,因为我在 minGw 上编译 boost.filesystem 时遇到了很多麻烦。当然还有“dirent.h”作为最后的手段,但它不是标准的,虽然它在 gnu gcc (mingw) 上受支持,但它不包含在 MSVC 工具链中。那么推荐使用dirent.h吗?欢迎任何好的解决方案。

注意:我不知道这应该标记为 c 还是 c++。我正在使用 C++,但 glib 是一个 C 库。

最佳答案

如果您正在寻找一个glib 示例,就在这里。

GDir *dir;
GError *error;
const gchar *filename;

dir = g_dir_open(".", 0, &error);
while ((filename = g_dir_read_name(dir)))
    printf("%s\n", filename);

关于c++ - 如何使用 Glib(或任何其他库)列出目录中的所有文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7704144/

相关文章:

c++ - 将索引多边形转换为未索引的多边形。出现了几个问题

c++ - 确定 Windows Server 2003 SP 1 是 32 位还是 64 位的正确方法是什么?

Windows 等同于 Linux namespace (每个进程文件系统挂载)?

java - 如何使用 java 读取制表符分隔文件并从中选择几个值

c++ - 在非常大的数字序列中查找句点

python - 条件运算符不匹配

c - 在C中的两个特定字符串之间提取字符串

c - 试图退出阻塞的 UDP 套接字读取

c - 为什么 Linux 中的所有系统调用都使用 "call by reference"将参数传递给内核?

linux - 硬链接(hard link)不会在 docker 容器中创建,即使它们与主机位于同一文件系统中