fstat、stat和lstat 区别
生活随笔
收集整理的這篇文章主要介紹了
fstat、stat和lstat 区别
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
nt?fstat(int?filedes,?struct?stat?*buf);
int?stat(const?char?*path,?struct?stat?*buf);
int?lstat(const?char?*path,?struct?stat?*buf);
一眼就能看出來fstat的第一個參數是和另外兩個不一樣的,fstat區別于另外兩個系統調用的地方在于,fstat系統調用接受的是?一個“文件描述符”,而另外兩個則直接接受“
文件全路徑”。文件描述符是需要我們用open系統調用后才能得到的,而文件全路經直接寫就可以了。
stat和lstat的區別:當文件是一個符號鏈接時,lstat返回的是該符號鏈接本身的信息;而stat返回的是該鏈接指向的文件的信息。(這樣記,lstat比stat多了一個l,因此它是
有本事處理符號鏈接文件的,因此當遇到符號鏈接文件時,lstat當然不會放過。而?stat系統調用沒有這個本事,它只能對符號鏈接文件睜一只眼閉一只眼,直接去處理鏈接所指
文件嘍)?
總結
以上是生活随笔為你收集整理的fstat、stat和lstat 区别的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Linux下串口通信详解
- 下一篇: APP HTTPS协议抓包难题 财