我想使用 c++ 从 directoy 获取字符串中的文件名
I want to get the filename in a string from a directoy using c++
我有一个名为test的目录。此目录是在运行代码的另一部分时动态创建的。并且测试包含不同的文件。这些文件也是自动生成的。假设我在目录测试中生成了 a1.txt,a2.txt,a.c,a3.txt,b.c。我想在变量中获取 a3.txt 文件名。这意味着我想迭代目录的内容并获取与最大数字关联的".txt"文件的名称。请帮助我解决这个问题。
使用 opendir 函数,
DIR *opendir(const char *name);
打开该目录后,使用 readdir
获取该目录中的文件。
struct dirent *readdir(DIR *dirp);
使用结构,您可以获取文件名,也可以使用该文件。
下面给出了给定目录中的目录和文件。
using namespace std;
int getDirContent (string dir, vector<string> &files) {
DIR *dp;
struct dirent *dirp;
if ((dp = opendir(dir.c_str())) == NULL) {
cout << "Error(" << errno << ") opening " << dir << endl;
return errno;
}
while ((dirp = readdir(dp)) != NULL) {
files.push_back(string(dirp->d_name));
}
closedir(dp);
return 0;
}
string dir = string(".");
vector<string> files = vector<string>();
getDirContent(dir,files);
相关文章:
- 从C字符串中获取奇怪的字符串长度
- 获取字符串的长度并将其分配给数组
- 我如何获取从 C++ 到 C 的映射<字符串、int>#
- 调用CreateProcess()并获取字符串的返回值
- 从字符串中获取结构的大小
- Cryptopp:获取密码输入的填充字符串
- 获取无效的字符串大小
- 获取 OID(类型::b_oid)作为 MongoDB C++驱动程序中的字符串
- C ++编译器如何获取argv字符串的长度
- 给枚举一个整数,并在 C++ 中将其相关值作为字符串获取
- 如何使用字符串获取用户控制台输入
- 通过字符串获取小部件
- 无法从字符串获取数字输入
- 在C++的静态方法中将类名作为字符串获取
- 从设备实例路径字符串获取设备实例 DWORD
- HRESULT到字符串(获取文档路径)C++
- 如何从http请求体字符串获取文件名
- 如何使用带有垃圾字符的子字符串获取字符串
- 通过字符串获取对话框项的可能性
- 有没有办法将 WinAPI 错误标志作为字符串获取