我正在尝试从目录中打开文件,但每次我显示我的文件时,我都会在顶部显示这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
答案 0 :(得分:2)
.
是当前目录,..
是上级目录。如果你不想要它们,只需将它们过滤掉。
答案 1 :(得分:1)
3个点实际上是2个目录。第一个名为&#39;。&#39;指的是当前目录。如果您尝试打开它,它将引导您返回到同一目录。例如,目录C:\Users\Daniel
等于C:\Users\Daniel\.
第二个目录是&#39; ..&#39;。它指的是父目录。因此C:\Users
目录等同于C:\Users\Daniel\..
这2个目录不真实。它们由操作系统模拟。如果您不想打印它们,只需在跳过前两个元素后开始打印列表。这两个目录总是先列出来。
答案 2 :(得分:0)
目录.
是当前目录。目录..
是父目录。所以他们将在名单上
就像运行命令ls -a