2015-11-01 82 views
1

我想從一個目錄中打開文件,但每次顯示我的文件時,我都會在頂部顯示這3個點。因此,例如,我打開的目錄稱爲「我的文檔」,輸出將是如下的3個點 。 .. names.txt中 Jobs.txt從一個目錄打開多個文件C++

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

回答

1

3點實際上是2個目錄。第一個名爲'。'指的是當前目錄。如果您嘗試打開它,它會將您帶回到同一個目錄。例如,目錄C:\Users\Daniel等於C:\Users\Daniel\. 第二個目錄是'..'。它指向父目錄。所以C:\Users目錄相當於C:\Users\Daniel\..

這2個目錄不是真實的。它們由操作系統模擬。如果您不想打印它們,只需在跳過前兩個元素後開始打印列表。這兩個目錄總是列在第一位。

2

.的方式是當前目錄,..是上一級目錄。如果你不想要他們,只需將他們過濾出來。

0

目錄.是當前目錄。目錄..是父目錄。因此,他們會在名單

上就像運行命令ls -a

相關問題