
遞歸遍歷目錄樹的程式需要弄清楚如何處理符號連結(和/或 Windows 上的連接點),以避免在符號連結指向父目錄時進入無限循環。兩個明顯的選擇是:
完全跳過符號連結。
繼續追蹤它們,但追蹤所有訪問過的目錄,並在即將陷入無限循環時跳過。
哪個是最常見/預期/首選的選擇?
答案1
如果您只是瀏覽,請關注。
但是,您指定您不想要無限循環......
避免當符號連結指向父目錄時進入無限循環
如果您以廣度優先方式遞歸搜索,請遵循。以深度優先的方式,跳過。
如果您正在計算檔案大小,請跳過。
追蹤通常是一種優化,而不是實現。當然,你最好擁有它。