看板 b94902HW 關於我們 聯絡資訊
請參考課本上的範例程式,按照 readdir() 的順序即可;你上面說的情況,可能的 outputs 有五種,舉例如下(如果我數漏了,那就是我數錯了XD): 1. xx1 xx2 xx3 (xx1 先讀到,/a/a/ 在 link1 前先被讀到)。 2. xx1 xx3 xx2 (xx1 先讀到,/a/a/ 在 link1 後才被讀到)。 3. xx3 xx1 xx2 (先讀到 link1 ,再讀到 xx1,最後讀到 /a/a/)。 4. xx3 xx2 xx1 (兩種可能:先讀到 link1 ,再讀到 /a/a/,最後讀到 xx1;先讀到 a/a/ ,再讀到 a/a/a/ ,所以先找到 xx3 ,回到 a/a/ ,找到 xx2,最後找到 xx1)。 5. xx2 xx3 xx1 (先讀到 /a/a/ ,所以繼續走下去讀到 xx3 ,然後回到 /a/ 讀到 xx1 ,讀到 link1 時因為它指到的地方走過了,所以停止)。 (如果我沒算錯,應該沒有 xx2 xx1 xx3) 總之按照 readdir() 給的走下去就對了。 > 還有 link有可能會跳到開始的資料夾之上嗎 如"/" 會,這是一種 loop ,程式裡要避免,因為每個檔案只可以印一次,而且程式不能陷入無 窮迴圈。 > > 拜託助教解答囉! > 助教 張文賢 ******助教回的信 我PO上來給大家參考****** ※ 引述《rangerx (^^")》之銘言: : 拜託各位同學幫我解答orz : 如果有資料夾如下 : /a/ 其中有檔案xx1 和symbolic link "link1" link to "a\a\a\" : /a/a/ 其中有xx2 : /a/a/a/ 其中有xx3 : 如果我搜尋xx 由"/a/"開始 : 那顯示的順序該為xx1 xx2 xx3 或是 xx1 xx3 xx2呢 : spec上寫說印出時要DFS那是指資料夾結構的DFS 還是traverse的DFS順序壓 : 還有 link有可能會跳到開始的資料夾之上嗎 如"/" : 拜託各位解答囉! -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.112.251.178