所以我有一個項目,我需要構建一個小的簡單文本shell,可以運行,編輯和讀取目錄中的文件。我有一個小的原型應該可以工作,除了編譯時,我收到了有關在dirent.h頭文件中使用的struct dirent中找不到d_type的錯誤。struct dirent在頭文件中沒有de_type
d = opendir(".");
c = 0;
while ((de = readdir(d))){
if ((de->de_type) & DT_DIR)
printf(" (%d Directory: %s) \n", c++, de->de_name);
}
變量「德」是類型結構的dirent *,並正在檢查它的類型,我得到的錯誤:「結構的dirent」沒有名爲「de_type」
這裏成員就是我真的難倒和困惑:我已經在兩個窗口(使用dev C++)和Ubuntu(使用gcc)上編譯了這段代碼。我收到兩個操作系統的相同的錯誤,當我檢查使用的庫,這是正常的GNU C庫,我相信,有一個變量有名爲d_type:
https://www.gnu.org/software/libc/manual/html_node/Directory-Entries.html
我發現了其他的引用到一個dirent.h文件,這並不是因爲一個庫位於不同的庫中,並且如果是這樣的話,我如何加載該庫以便編譯代碼?
對不起,很長的文章,非常感謝所有誰回答!
您使用的是什麼文件系統類型? – e0k
好的,所以現在這個問題根本沒有意義,因爲標題中說'd_type'和其他地方都有'de_type'。 – user3386109