我试图从目录中打开文件,但是每次显示文件时,我在顶部都有这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\..
那两个目录不是真实的。它们由操作系统模拟。如果您不想打印它们,只需跳过前两个元素后就开始打印列表。这两个目录始终列在最前面。

07-25 23:04
查看更多