linux的stat命令_fstat函数

linux的stat命令_fstat函数#include<sys/types.h>#include<sys/stat.h>#include<unistd.h>intstat(constchar*pathname,structstat*buf);pathname:用于指定一个需要查看属性的文件路径。buf:structstat类型指针,用于指向一个structstat结构体变量。调用stat函数的时候需要传入一个structstat变量的指针,获取到的文件..

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

Linux
下可以使用
stat
命令查看文件的属性,其实这个命令内部就是通过调用
stat()
函数来获取文件属性的,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

 

示例代码:
获取文件的 inode 节点编号以及文件大小,并将它们打印出来。

#include <sys/types.h>
#include <sys/stat.h>
#include <unistd.h>
#include <stdio.h>
#include <stdlib.h>

int main(void)
{
    struct stat file_stat;
    int ret;
    /* 获取文件属性 */
    ret = stat("./test_file", &file_stat);
    if (-1 == ret)
    {
        perror("stat error");
        exit(-1);
    }
    /* 打印文件大小和 inode 编号 */
    printf("file size: %ld bytes\n"
           "inode number: %ld\n",
           file_stat.st_size,
           file_stat.st_ino);
    exit(0);
}

测试验证:

linux的stat命令_fstat函数

 从图中可以得知,此文件的大小为 4060 个字节,inode 编号为 656929

接下来编译测试程序,并运行

linux的stat命令_fstat函数

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/171780.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • MySQL insert or update sql

    MySQL insert or update sqlMySQL一条sql实现数据保存变更  insertorupdate  ,如果没有执行insert,有就update需要有主键 PRIMARY或唯一索引UNIQUEMySQL中的INSERT…ONDUPLICATEKEYUPDATE语句,该语句是基于唯一索引或主键使用ONDUPLICATEKEYUPDATE后面可以放多个字段,用英文逗号分割。使用…

    2025年6月12日
    0
  • vue中怎么解决跨域问题_vue本地访问服务器跨域

    vue中怎么解决跨域问题_vue本地访问服务器跨域vue项目中如何解决跨域问题跨域的含义​ 跨域的本质就是浏览器基于同源策略的一种安全手段。所谓同源就是必须有以下三个相同点:协议相同、主机相同、端口相同。如果其中有一项不同,即出现非同源请求,就会产生跨域。​ 跨域实际上是浏览器的限制,开发中使用postman请求接口能够获得数据就印证了跨域是浏览器的限制这个问题。解决方法​ 一般前端中解决跨域问题的方法有JSONP,CROS,Proxy等,这里我们主要讲解一下在vue中常用的CROS和Proxy方法。CROS​ CROS是Cros

    2022年9月15日
    0
  • C#软件开发实例.个人定制自己的屏幕抓图工具(八)加入了截图功能键盘

    C#软件开发实例.个人定制自己的屏幕抓图工具(八)加入了截图功能键盘

    2022年1月5日
    38
  • 内置函数和匿名函数

    内置函数什么是内置函数在聊内置函数之前,我们先来回顾一下普通函数的基础知识。问:函数怎么调用?答:函数名()现在我们在自己的程序里打印一下自己的名字,该怎么打的呀?print('x

    2022年3月29日
    42
  • pycharm 查看函数帮助_python中函数和方法区别

    pycharm 查看函数帮助_python中函数和方法区别按住ctrl键,将鼠标放到函数上,就会显示函数信息,点击进去可以查看函数源码。

    2022年8月28日
    2
  • 浅谈Perl正则表达式

    浅谈Perl正则表达式一、简介Perl正则表达式中模式指在字符串中寻找的特定序列的字符,由反斜线包含:/def/即Perl正则表达式中模式def。其用法如结合函数split将字符串用某Perl正则表达式中模式分成多个单词:@array=split(//,$line);二、匹配操作符=~、!~=~检验匹配是否成功:$result=$var=~/abc/;若在该字符串中找到了该Perl正则表达式中模式,

    2022年5月31日
    27

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号