gpt4 book ai didi

C++ vector 下标超出范围 dirent

转载 作者:太空宇宙 更新时间:2023-11-04 13:40:16 25 4
gpt4 key购买 nike

public:vector<vector<string>> cont;
void memContent(string path, int f){
DIR *dir;
struct dirent *ent; int j = 0;
if ((dir = opendir(path.c_str())) != NULL) {
while ((ent = readdir(dir)) != NULL) {
for (int i = 0; i < ext_no; i++)
if (strstr(ent->d_name, ext[i].c_str()))
{

cont[f].push_back(ent->d_name);
}
}
closedir(dir);
}
}
main(){

for (int i = 0; i < f.dir_no; i++)
f.memContent(f.dir[i], i);
}

我有一个 vector vector ,它应该从多个文件夹中获取所有文件,但我一直收到有关 vector 大小的错误;顺便说一句:我使用“f”来了解当前文件夹,并且我在其他 vector 中有路径

最佳答案

在循环之前,您需要确保您的 cont vector 包含每个目录的一个 vector :

cont.resize(dir_no)

关于C++ vector 下标超出范围 dirent,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27973968/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com