1.24 stat、lstat函数

 摘自:https://blog.csdn.net/m0_38062470/article/details/113574697

 

复制代码
#include <sys/types.h>
#include <sys/stat.h>
#include <unistd.h>
 
int stat(const char *pathname, struct stat *buf);
作用:获取文件相关的信息
参数:
    -pathname:操作的文件的路径
    -buf:结构体变量,传出参数,用于保存获取到的文件的信息
返回值:
    成功:返回0
    失败:返回-1,设置errno
 
int lstat(const char *pathname, struct stat *buf);
参数:
    -pathname:操作的文件的路径
    -buf:结构体变量,传出参数,用于保存获取到的文件的信息
返回值:
    成功:返回0
    失败:返回-1,设置errno
复制代码

 

 

复制代码
//perror printf
#include <stdio.h>
//stat
#include <sys/types.h>
#include <sys/stat.h>
#include <unistd.h>
 
int main()
{
    struct stat buf;
    int ret = stat("hello.txt",&buf);
    if(ret==-1)
    {
        perror("stat");
        return -1;
    }
    printf("size: %ld\n",buf.st_size);
    return 0;
}
复制代码

 下面看lstat函数:

先给hello.txt创建一个软链接:

 

 通过stat命令查看hello.txt文件的信息:

 

 通过stat命令查看b.txt文件的信息:

 

 查看b.txt文件的内容:

 

 显示的实际上是hello.txt中的内容。

所以:

用stat函数获取软链接文件的信息,得到的实际是指向的文件的信息

用lstat函数获取软链接文件的信息,得到的是软链接文件本身的信息

posted @   LiuYanYGZ  阅读(11)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
历史上的今天:
2022-02-05 TS型网页视频下载方法____________________m3u8视频在线提取工具-单线程太慢
点击右上角即可分享
微信分享提示