2013-10-07 58 views
-4

我在C中創建一個模擬「ls -li」行爲的函數,所以我必須知道是否隱藏文件或目錄以顯示它。如何知道文件/目錄是否隱藏在編程C

謝謝

+3

什麼使文件隱藏?一旦你知道這一點,編碼應該很容易...(作爲一個提示,有一天嘗試'ls -a',看看你能否弄清楚。) –

+0

這不是由名稱是否開始確定用''''? – FatalError

+1

「隱藏」是什麼意思?在UNIX和Linux中,通常不存在「隱藏」標誌,而是任何文件或目錄名稱前帶有「。」字符的文件或目錄都被視爲「隱藏」。對於其他文件屬性,'man stat -s 2'有一些很好的信息。 – CmdrMoozy

回答

1

通常隱藏的文件在開始時由.組成。

檢查文件名的第一個字符是否爲.如果是.那麼這是隱藏的文件,不會顯示該文件。

char *filenames[10]; 

for(i=0;i<10;i++) 
if(filenames[i][0]!='.') 
//display filename 
+1

好吧,你是對的。我正在比較文件名[0] ==「。」;但是「。」是一個字符串。非常感謝你,我欣賞 – horro

+0

你只需要比較字符。 'filenames [i] [0]!='。''比較文件名的第一個字符和字符'。' – Gangadhar

0

檢查文件名的第一個字符是否爲點。以.開頭的文件名在Unix中被認爲是「隱藏」的,因爲ls-a-A不會顯示它們。

相關問題