每天一个linux函数(文件类型 stat函数)
window通常以后缀区分文件.比如: .c .h .txt .pdf
linux下不以后缀区分文件.但是为了阅读方便,还是会加上后缀的.
linux中一共分为7种文件类型:
普通文件:
目录文件.
设备文件.
符号链接文件(类似与window的快捷方式).
惯导文件.
套接字文件.
stat函数是linux中的系统调用.用于获取文件相关的信息.
函数原型,可以通过 man 2 stat命令查看.
#include <sys/types.h>
#include <sys/stat.h>
#include <unistd.h>
int stat(const char *pathname, struct stat *buf);
其中pathname: 用于指定一个需要查看属性的文件路径.
其中buf: struct stat类型的指针,用于指向一个struct stat结构体变量.
调用stat函数的时候,需要传入,一个struct stat变量的指针,
获取到的文件属性信息就记录在struct stat结构体中.
其中返回值: 成功返回0;失败返回-1,并设置error.

这个struct stat结构体就类似与window下一个文件的属性.
在window中右击一个文件,查看属性,就会有个窗口跳出来,上面写着文件的类型,名字,大小...
如下图:(linux中是以结构体显示,不像window以图形显示...)

在linux中这个结构体中都有什么内容呢?
其实和window很相似:


形参分析:
路径,当然是要用字符串表示.
在C语言中,字符串需要用指针指向它.
字符串有不同的长度,估计是在stat函数里面又判断,判断有没有执行了字符串的结尾.
所以不用传入长度.
(找一个机会,自己写一个传入指针的函数.)
第二个参数是一个结构体指针,
为什么是指针,是为了向外返回内容.
不止return可以返回内容.形参指针,也可以返回内容.

1,创建文件夹和文件

2,编写函数

3,因为要读取文件属性,
所以我们创建一个临时文件,读取它的属性.
test_file.txt

4,然后编译一下程序,make一下

5,运行程序
