首页 / 知识
关于文件:如何在C中获得目录列表?
2023-04-12 07:07:00

How do you get a directory listing in C?如何在C目录中扫描文件夹和文件? 它必须是跨平台的。 以下POSIX程序将打印当前目录中的文件名:
图片来源:http://www.gnu.org/software/libtool/manual/libc/Simple-Directory-Lister.html 在Ubuntu 16.04中测试。 严格的答案是"您不能",因为文件夹的概念并不是真正的跨平台。 在MS平台上,您可以使用_findfirst,_findnext和_findclose以获得" c"的感觉,并使用FindFirstFile和FindNextFile进行基础的Win32调用。 这是C-FAQ答案: http://c-faq.com/osdep/readdir.html 我创建了一个开源(BSD)C头文件来处理此问题。目前,它支持POSIX和Windows。请检查一下: https://github.com/cxong/tinydir
没有标准的C(或C ++)方式枚举目录中的文件。 在Windows下,您可以使用FindFirstFile / FindNextFile函数枚举目录中的所有条目。在Linux / OSX下,使用opendir / readdir / closedir函数。 GLib是C的可移植性/实用性库,它构成了GTK +图形工具箱的基础。它可以用作独立库。 它包含用于管理目录的便携式包装器。有关详细信息,请参见Glib文件实用程序文档。 就个人而言,如果没有像GLib这样的东西,我什至不会考虑编写大量的C代码。可移植性是一回事,但免费获得数据结构,线程助手,事件,主循环等也很不错 吉克斯,我几乎开始听起来像个销售人员:)(不用担心,glib是开源的(LGPL),并且我与它没有任何关系) opendir / readdir是POSIX。如果POSIX不足以实现您想要的可移植性,请检查Apache Portable Runtime 目录列表根据所考虑的OS /平台而有很大差异。这是因为,各种操作系统使用自己的内部系统调用来实现此目的。 解决此问题的方法是寻找一种掩盖此问题且可移植的库。不幸的是,没有一种可以完美地在所有平台上运行的解决方案。 在兼容POSIX的系统上,您可以使用该库通过Clayton发布的代码来实现此目的(该代码最初是W. Richard Stevens从UNIX下的Advanced Programming中引用的)。如果安装了Cygwin,则此解决方案将在* NIX系统下运行,并且也将在Windows上运行。 或者,您可以编写代码来检测基础操作系统,然后调用适当的目录列表功能,该功能将保持该操作系统下列出目录结构的"正确"方式。
与 您可以在Wikibooks链接上找到示例代码。
|
最新内容
相关内容
python如何读取列表中元素的位置?
python如何读取列表中元素的位置?,位置,数据,异常,培训,字符串,元素,索引,方法,示例,结果,python读取列表中元素位置的方法:1、使用index()方python如何调用另一个文件夹中的内
python如何调用另一个文件夹中的内容?,系统,培训,文件,模块,内容,路径,函数,所在,前缀,语句,python中调用另外一个文件夹中的内容:1、同一文件如何在python代码中指定保存的文件
如何在python代码中指定保存的文件格式,代码,培训,文件格式,格式,二进制文件,文件,后缀,以上,方法,更多,python指定保存文件格式的方法:1、保Python如何复制文件中的内容
Python如何复制文件中的内容,盘中,数据,培训,文件,内容,方法,文件夹,路径,源文件,文件名,python复制文件中内容的方法:1、使用shutil.copyfilepython列表是否允许重复
python列表是否允许重复,培训,表里,元素,字典,列表,方法,长度,种类,也就是,下面,python列表允许重复,下面我们就来介绍几种判断列表是否重复的Python中怎么新建文件夹
Python中怎么新建文件夹,代码,工作,培训,文件夹,路径,函数,操作系统,示例,文件名,以上,python中如何新建文件夹的方法:可以使用os包的mkdir函python如何获得文件大小
python如何获得文件大小,培训,文件大小,文件夹,大小,函数,方法,接口,以上,结果,文件,python获取文件大小的方法如下方法一:获取文件大小importpython脚本怎么自动生成文件
python脚本怎么自动生成文件,工作,名字,通用,培训,文件,脚本,内容,参数,关系,中将,python脚本自动生成需要文件在工作中我们经常需要通过一个python如何获取文件名
python如何获取文件名,培训,数据,项目,模型,文件名,路径,文件,方法,列表,文件夹,python获取文件名的方法:在做项目中我们会有这个需求的,比如你python将列表压缩
python将列表压缩,培训,代码,函数,列表,对象,元素,两个,上面,长度,功能,如何将python列表压缩zip()函数可以把两个列表“压缩”成一个zip对象python如何查看文件大小
python如何查看文件大小,培训,文件大小,文件夹,大小,函数,接口,以上,结果,文件,更多,python中获取文件大小的方法如下1获取文件大小importosopython怎么在cmd运行文件夹
python怎么在cmd运行文件夹,培训,路径,文件夹,文件,以上,程序,方法,更多,内容,python是一门高级测面向对象的程序设计语言。运行Python,可在