stat,lstat,fstat三者的区别
2016-03-08 14:01
295 查看
int stat(const char *path, struct stat *buf);
int lstat(const char *path, struct stat *buf);
int fstat(int filedes, struct stat *buf);
聪明人一眼就能看出来fstat的第一个参数是和另外两个不一样的,对!fstat区别于另外两个系统调用的地方在于,fstat系统调用接受的是 一个“文件描述符”,而另外两个则直接接受“文件全路径”。文件描述符是需要我们用open系统调用后才能得到的,而文件全路经直接写就可以了。
stat和lstat的区别:当文件是一个符号链接时,lstat返回的是该符号链接本身的信息;而stat返回的是该链接指向的文件的信息。(似乎有些晕吧,这样记,lstat比stat多了一个l,因此它是有本事处理符号链接文件的,因此当遇到符号链接文件时,lstat当然不会放过。而 stat系统调用没有这个本事,它只能对符号链接文件睁一只眼闭一只眼,直接去处理链接所指文件喽)
int lstat(const char *path, struct stat *buf);
int fstat(int filedes, struct stat *buf);
聪明人一眼就能看出来fstat的第一个参数是和另外两个不一样的,对!fstat区别于另外两个系统调用的地方在于,fstat系统调用接受的是 一个“文件描述符”,而另外两个则直接接受“文件全路径”。文件描述符是需要我们用open系统调用后才能得到的,而文件全路经直接写就可以了。
stat和lstat的区别:当文件是一个符号链接时,lstat返回的是该符号链接本身的信息;而stat返回的是该链接指向的文件的信息。(似乎有些晕吧,这样记,lstat比stat多了一个l,因此它是有本事处理符号链接文件的,因此当遇到符号链接文件时,lstat当然不会放过。而 stat系统调用没有这个本事,它只能对符号链接文件睁一只眼闭一只眼,直接去处理链接所指文件喽)
相关文章推荐
- yizhongqishi的线上错题本_c/c++篇
- 菜鸟程序员找工作
- 怎么用php写一个日志功能的函数
- LeetCode----Lowest Common Ancestor of a Binary Search Tree
- Android中Handler消息传递机制
- transient关键字的作用
- Angularjs学习笔记
- 利用bouncycastle 生成pfx公私钥文件
- 工作问题纪录
- 深入理解PHP原理之变量作用域
- 史上最详细最容易理解的HMM文章
- 华为软件测试面试题
- iOS 打测试包
- 【原】storm源码之storm代码结构【译】
- JVM性能调优监控工具jps、jstack、jmap、jhat、jstat使用详解
- 千里之行,始于足下。何时踏足,始于此20160308
- android LruCache 有效避免程序OOM
- 9517 Link Link Look
- 一个用来定位当前城市的单例
- SAP接口编程-RFC系列13 : Table Parameter作为输入参数