3 回答

TA貢獻(xiàn)1836條經(jīng)驗(yàn) 獲得超5個(gè)贊
您可以stat通過(guò)將目錄名稱作為第一個(gè)參數(shù)傳遞給系統(tǒng)調(diào)用。如果目錄存在,0則返回a ,否則-1返回errno,將其設(shè)置為ENOENT
編輯:
如果返回值是0,則需要進(jìn)行其他檢查以確保該參數(shù)實(shí)際上是目錄,而不是文件/符號(hào)鏈接/字符特殊文件/大容量特殊文件/ FIFO文件。您可以為此使用的st_mode字段stat structure。

TA貢獻(xiàn)1883條經(jīng)驗(yàn) 獲得超3個(gè)贊
另一個(gè)簡(jiǎn)單的方法是:
int check(unsigned const char type) {
if(type == DT_REG)
return 1;
if(type == DT_DIR)
return 0;
return -1;
}
然后,您可以將struct dirent *對(duì)象的d_type傳遞給check函數(shù)。
如果檢查返回1,則該路徑指向常規(guī)文件。
如果check返回0,則該路徑指向目錄。
否則,它既不是文件也不是目錄(可以是塊設(shè)備/符號(hào)鏈接等。)
- 3 回答
- 0 關(guān)注
- 694 瀏覽
添加回答
舉報(bào)