1
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);
}
저는 여러 폴더에서 모든 파일을 가져와야하는 벡터 벡터를 가지고 있지만 벡터 크기에 대해서는 계속 오류가 발생합니다. 는 Btw은 : 나는 현재 폴더를 알고 "F"를 사용하고 난 당신이 당신의 cont
벡터 각 디렉토리에 대한 하나의 벡터가 포함되어 확인해야 루프 전에 다른 벡터C++ 벡터 첨자가 범위를 벗어났습니다.
돈을 ' push_back 때 인덱스를 추가하십시오. 그냥 cont.push_back – Chiel
하시겠습니까? 나는 벡터의 구조가 cont [폴더] [파일] ..이라는 것을 의미하고 모든 폴더에 대한 파일의 이름을 push_back으로하려고 시도하고있다. – hallelujah
@ 할렐루야 '벡터'가 적어도 '크기가 조정되었다'는 것을 확인 했는가?)'인덱스'f'에 무엇인가를 저장하는 것이 적절합니까? –