问题标签 [dirent.h]

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.

0 投票
1 回答
390 浏览

c - 如何使用C中的不同标题扫描文件夹中的文本

我需要找到一种方法来扫描文件夹(例如 -C:\Users\User\Documents\HW)并检查我是否从用户那里获得了一些文本。我需要返回哪些文件具有完全相同的文本。我以前从未使用过 dirent.h,也不知道如何使用它;

0 投票
1 回答
530 浏览

android - Android dirent.h opendir() 不会编译

我目前无法编译诸如 opendir() 之类的 dirent.h 函数。我做了什么?我确定我有这个工作。

Android_Utils.cpp:

我的 Android.mk 文件:

输出:

0 投票
1 回答
706 浏览

openssl - 在裸机上交叉编译 openssl

我正在尝试使用 cortex m3 机器的相应 gcc (arm-none-eabi-5_4-2016q2) 交叉编译 openssl。机器应该有能力做 TCP 请求,我们想在一天结束时做 HTTPS。

在交叉编译期间,在 make 步骤中,我遇到了一个错误,指出应该在 dirent.h 中定义的某些结构不是,并且当我更仔细地检查时,事实证明这个编译器只有一个空的 dirent。 h 除了错误打印。

显然,机器将在没有 dirent.h 的情况下运行。所以我的问题是,我还能为机器编译这个 openssl 吗?如果需要标题,我可以自己编写相应的东西吗?但这只是关于目录,它与 SSL 有多大关系?

0 投票
0 回答
399 浏览

c++ - Visual Studio 10 中的 readdir_r() 函数

我正在尝试使用 Visual Studio 在 Windows 中构建 libphonenumber 库的 c++ 移植代码。它的一些代码使用在 dirent.h 文件中定义的 readdir_r()。

Visual Studio 不包含任何 dirent.h 文件。因此,在探索之后,我找到了可以将 dirent.h 文件复制到“C:\Program Files\Microsoft Visual Studio 10\VC\include”的解决方案。

但是窗口的所有dirent.h 文件都包含readdir() 但不包含readdir_r()。功能签名也不同。

我可以像在 Linux 中一样获得 windows 的 dirent.h 吗?其中包含 readdir_r()???

0 投票
2 回答
1558 浏览

c++ - 在 Windows 的 dirent.h 中找不到 seekdir() (C++)


我实际上正在做一个项目,我必须浏览目录,为此我正在使用 dirent.h 库,因为我不想仅仅为此使用 Boost。
因此,我在 Visual Studio 2010 或 2008中找到了这篇文章 <dirent.h>,它指向http://www.softagalleria.net/dirent.php,我在此处下载并安装了 dirent.h。
所以安装了dirent.h,使用opendir、readdir等基本函数没有问题,但是当我想使用seekdir()函数时,库中似乎不存在它,所以我进入dirent.h来验证我的假设并且(感谢 Ctrl+F) seekdir 确实丢失了。
我错过了什么还是我必须找到一个技巧来获得这个功能......?
感谢您。

0 投票
1 回答
133 浏览

c - 如何从 C 语言的目录中创建一个结构来存储日期时间和文件名?

我正在尝试创建一个结构来存储目录中文件的文件名和数据时间

我也想对结构进行排序,但这是之后出现的另一个问题。该程序给我分段错误。我不太确定结构是否正确。我该如何修改它?谢谢

0 投票
1 回答
1371 浏览

c++ - readdir 排除目录中的一些文件

我有一段相当简单的代码来获取 C++ 目录中的文件列表。令人费解的是,目录中的 135 个文件中只有 68 个最终存储在矢量文件名中。怎么了?

0 投票
1 回答
5383 浏览

c++ - c++ dirent.h 和获取绝对路径的语法

我正在学习使用 dirent.h。虽然这个过程很有趣,但我在使用 d_name 时遇到了问题。

我想使用 d_name 做两件事。

  1. 递归搜索子目录。对此,当我遇到 DT_DIR 类型的文件时,我会对该函数进行递归调用

    在自身内部使用目录的 d_name 作为新的 char* filePath 参数。所以,

    /li>
  2. 打开目录中的所有文件。为此,当我遇到 DT_REG 文件时,我将创建 ifstream 对象并使用 d_name 打开文件。所以,

    /li>

我遇到的问题是 void iterateDirectory() 函数和 ifstream fin() 似乎都没有将 entry->d_name 识别为有效输入。当我使用 d_name 调用迭代函数或使用 ifstream 和 entry->d_name 时,我检查目录或文件是否打开失败。该函数本身正在运行,因为我检查了具有不同 char* 输入的完全相同的函数。我能想到的唯一问题是我的函数没有以绝对路径作为参数。

我的问题是如何在迭代时找到给定文件或子目录的绝对路径。我最初的解决方案是使用“。” 因为那是当前目录。存储“.”的地址 成一个字符串,并附加“\”+entry->d_name。但我认为语法是错误的。

我对绝对路径问题是否正确?还是我缺少另一个问题?如果是绝对路径问题,获取文件绝对路径的语法是什么?

附言

过去我被告知要尽量减少我上传到堆栈溢出问题的代码量,我提出了我认为最小的所需代码。如果上面提供的信息不足,我将链接 github 页面以获取代码。

https://github.com/ForeverABoy/dirent.h_practice/blob/master/directoryIterator.cpp

任何和所有的帮助表示赞赏。谢谢!

0 投票
1 回答
326 浏览

c++ - dirent.h 中的文件名不完整

当我在使用 dirent.h 时遇到问题时,不得不在 Turbo C++ 中为学校项目做一些遗留编码

理想情况下,此代码应列出目录中的所有文件和文件夹名称。但我明白了:

但我明白了 似乎该d_name字段似乎没有存储大于 9 个字符(包括 null)的文件名,而是用 '~' 和一个数字截断它。

我在 dirent 结构中阅读了有关字符串的 NAME_MAX 绑定长度的内容,但我在网络上的任何地方都找不到有关它的更多信息。

我想要完整的文件和文件夹名称,对不起,我必须使用古老的 Turbo C++。

0 投票
1 回答
467 浏览

c - 我无法打开某个文件夹的子文件夹

这是我试图在 C 中实现的一个函数,它递归地计算某个文件夹中的目录和文件的数量,仅针对某个深度

示例:我有一个文件夹“a”,其中包含 2 个子文件夹“b”、“c”,我写的是级别 1,它只会计算“a”中的文件,以及“a/b”和“a/c”中的文件,但它不会在例如“a/b/d”中进一步查找。

我不知道为什么,但是当我调用 main count("a",1,files,directories); 它打开“a”,计算其中的内容,但无法打开“b”和“c”,并在屏幕上打印来自 fd=opendir(dir); 的 fprintef stderr;

有谁知道为什么?