代码如下:
1 #include<stdio.h>
2 #include<stdlib.h>
3 #include<sys/types.h>
4 #include<sys/stat.h>
5 #include<unistd.h>
6 int main( int argc ,char* argv[1]){
7 if(argc<2){
8 printf("你应该这样./文件名 你给的文件的名称\n");//提示传入的参数不对
9 exit(1);//退出程序
10 }
11 //使用stat函数
12 struct stat st;
13 int ret =stat(argv[1],&st);//传入两个参数第一个是文件的名称,第二个> 是linu提供的结构体的类型
14 if(ret==-1){
15 perror("stat");//打印错误的信息
16 exit(1);//退出程序
17 }
18 int size=(int)st.st_size;//得到文件的大小,但是需要类型的转化
19 printf("The size is %d\n",size);//打印文件的大小
20
21 }
那么还有一个就是lstat和stat的区别(解读链接文件的时候)
最大的区别就是lstat不会去追踪文件,打印的就是当前文件的大小,而stat会追踪文件打印的是链接文件的大小
stat结构体下的东西