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

App*_*ker 1 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是ac库.

cni*_*tar 6

如果您正在寻找一个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);
Run Code Online (Sandbox Code Playgroud)