如何使用 Glib(或任何其他库)列出目录中的所有文件?
我不知道如何使用 GLib (GIO?) 列出给定目录中的所有文件(文件名?)。没有好的文档或教程。欢迎任何代码片段。如果使用 GLib 不可能(或太麻烦)执行此操作,是否有任何好的 C 或 C++ 第三方库可以执行此操作。除了 Boost.FileSystem,因为我在 minGw 上编译 boost.filesystem 时遇到了很多麻烦。当然还有“dirent.h”作为最后的手段,但它不是标准的,尽管它在 gnu gcc (mingw) 上受支持,但它不包含在 MSVC 工具链中。那么推荐使用dirent.h吗?欢迎任何好的解决方案。
注意:我不知道这应该标记为 c 还是 c++。我使用的是 c++,但 glib 是 ac 库。
I cannot figure out how to use GLib (GIO?) to list all the files (file-names?) in a given directory. There is no good doc or tutorial. Any code snippets are welcome. If it is not possible (or too troublesome) to do this using GLib, Is there any good C or C++ third party library to do this. EXCEPT Boost.FileSystem as I have a lot of trouble compiling boost.filesystem on minGw. There is of course "dirent.h" as a last resort , but it isn't standard and although it is supported on gnu gcc (mingw) , it is not included in the MSVC toolchain. So is it recommended to use dirent.h? Any good solution welcome.
Note: I don't know whether this should be tagged as c or c++. I am using c++ but glib is a c library.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
这是一个 GLib 示例,使用 g_dir_open 和 g_dir_read_name:
Here is a GLib example, using g_dir_open and g_dir_read_name:
现在你用 Gio 来做这个。 这是一个示例 来自 GNOME Shell,使用 Javascript绑定,gjs。像这样的东西:
Nowadays you use Gio for this. Here is an example from GNOME Shell, using the Javascript binding, gjs. Something like:
在 POSIX 系统上,是的,我相信
opendir
/readdir
/linedir
和关联的dirent
结构正是您所需要的。在 Win32 上,不太确定,但也许这有帮助?On POSIX systems, yes, I believe
opendir
/readdir
/closedir
and the associateddirent
structure are what you need. On Win32, not so sure, but maybe this helps?