问题标签 [closedir]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c - closedir() 导致核心转储
我在 unix 平台上用 C 编写的代码中有以下几行。请让我知道为什么我将核心转储到 closedir() 函数中。我可以成功打开路径指定的目录。
c - 使用 opendir()、readdir() 和 closedir() 有效地遍历目录树
C 例程 opendir()、readdir() 和 closedir() 为我提供了一种遍历目录结构的方法。但是,readdir() 返回的每个 dirent 结构似乎都没有为我提供一种有用的方法来获取指向 DIR 的指针集,我需要递归到目录子目录中。
当然,他们给了我文件的名称,所以我可以将该名称附加到目录路径和 stat() 和 opendir() 它们,或者我可以通过 chdir() 更改进程的当前工作目录并滚动它通过 chdir("..") 返回。
第一种方法的问题是,如果目录路径的长度足够大,那么将包含它的字符串传递给 opendir() 的成本将超过打开目录的成本。如果您更具理论性,则可以说您的复杂性可能会增加超过线性时间(在目录树中(相对)文件名的总字符数中)。
此外,第二种方法存在问题。由于每个进程都有一个当前工作目录,因此除了一个线程之外的所有线程都必须在多线程应用程序中阻塞。另外,我不知道当前工作目录是否只是为了方便(即,在文件系统查询之前,相对路径将附加到它上面)。如果是这样,这种方法也将是低效的。
我接受这些功能的替代品。那么如何有效地遍历 UNIX 目录树(其下文件的总字符数的线性时间)?
php - 列出目录中的所有图像而不列出内容
我正在使用以下内容列出目录中的所有 jpg 图像,但由于某种原因它不起作用,我认为我的一些 's 和 .s 可能在错误的位置,我想我有点困惑: -S。
c - Closedir() 在 Ubuntu 中转储核心
我使用此处找到的一段代码来检查目录是否为空。但是, closedir() 似乎会导致 Ubuntu 上的核心转储。任何想法为什么?
目录存在。Opendir 返回一个句柄,readdir 能够使用该句柄访问目录,并且该函数执行它应该执行的操作。但是,当我尝试关闭目录时,程序崩溃并出现错误
我目前的解决方法是让目录保持打开状态,因为这只是一个帮助kludge来做更大的事情的一部分。它运行,执行 suid 部分并退出。我只是讨厌让事情敞开...
c - closedir() 导致现有列表节点发生变化
这是我的功能的简化代码:
我在主要功能中使用:
问题是函数的第二次调用会更改在第一次调用中返回的列表元素。元素的sourceFiles
become changed afterlistFilesInDirectory("dest/");
被调用。
但是当我closedir(dir)
从函数体中删除 a 时,一切正常并且元素sourceFiles
不会改变。
我准备了一个简单的程序https://pastebin.com/9pTYmpm2,这样你就可以看到会发生什么。示例结果:
正如你所看到的,SourceFiles content 1
并且SourceFiles content 2
是不同的。第一个是在listFilesInDirectory("dest/")
调用之前打印的,第二个是在调用之后打印的。但是,如果我closedir(dir)
从功能中删除一切正常:
这里发生了什么?为什么会这样?如何预防?我不应该closedir()
在我的程序中使用吗?
c - fork() 导致内存泄漏
当我尝试递归遍历 fork.Fork 中的目录时,会导致内存泄漏。如果我只是 fork everythink okkey,但是当我在子进程中调用函数时,我看到 valgrind 上的内存泄漏。我认为,我关闭了每个目录。但是 valgrind 说 opendir_tail.I尝试在父级中写入 clodir 但后来我分配了 1 个但有 2 个免费错误。问题出在哪里?
这是我的代码。
和 valgrind 输出