我试图从目录中打开文件,但是每次显示文件时,我在顶部都有这3个点。因此,例如,我打开的目录称为“我的文档”,则输出为3点,如下所示
。
..
Names.txt
Jobs.txt
Names.txt和Jobs.txt是我想要实现的唯一输出,任何人都可以帮忙。
我的密码
int getDoc(string doc, vector<string> &documents){
DIR *dp;
struct dirent *dirp;
if ((dp = opendir(doc.c_str())) == NULL){
cout << "Error(" << errno << ") opening" << doc << endl;
return errno;
}
while ((dirp = readdir(dp)) != NULL){
documents.push_back(string(dirp->d_name));
}
closedir(dp);
return 0;
}
顺便说一下,我使用dirent.h
最佳答案
这3个点实际上是2个目录。第一个名为“。”指当前目录。如果您尝试打开它,它将引导您回到同一目录。例如,目录C:\Users\Daniel
等于C:\Users\Daniel\.
第二个目录是“..”。它指向父目录。因此C:\Users
目录等效于C:\Users\Daniel\..
那两个目录不是真实的。它们由操作系统模拟。如果您不想打印它们,只需跳过前两个元素后就开始打印列表。这两个目录始终列在最前面。