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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 火眼金睛审核 一键轻松处理[通俗易懂]

    火眼金睛审核 一键轻松处理——学籍助手简介学籍助手是专为河北省义务教育学籍管理系统区县端开发的一款辅助工具(图)。该工具不影响原系统正常使用,只是扩充了一些实用功能,只是让学籍管理变得异常轻松简单(如您不是区县学籍管理员,请勿下载)。学籍助手具有严格的入库审核、强大的批量处理和轻松的数据对接功能,犹如为原学籍管理系统赋予一双慧眼、插上一对翅膀,从容处理繁杂的学籍变…

    2022年4月13日
    50
  • Linux安装jdk步骤_jdk linux安装

    Linux安装jdk步骤_jdk linux安装Linux的使用相信大家都要用到java吧!在使用java前我们得先安装jdk以及配置环境变量等工作;下面小编给大家分享关于Linux安装jdk的详细步骤:一、登录虚拟机进入终端切换到root用户,输入:su接着输入密码再输入:cd…回到root用户二、查看Linux系统是否有自带的jdk:1、输入:java-version2、发现有输入:rpm-qa|grepjav…

    2022年9月14日
    2
  • js 二维数组 添加json数据及js数组与json字符串「建议收藏」

    js 二维数组 添加json数据及js数组与json字符串「建议收藏」 JSON(JavaScriptObjectNotation)是一种轻量级的数据交换格式,采用完全独立于语言的文本格式,JSON是JavaScript原生数据格式。下面给大家介绍js数组添加json数据的两种方式。//第一种方式? 1 2 3 4 5 6 7 personInfo :[],…

    2022年5月27日
    97
  • Windows安装gitlab_Windows7

    Windows安装gitlab_Windows7文章目录一、下载指引二、安装说明三、配置信息一、下载指引在Windows上使用Git,可以从Git官网https://git-scm.com/直接下载安装程序,然后按默认选项安装即可。StandaloneInstaller:安装版,安装完之后会自动在鼠标右键时显示GitGUIHere和GitBashHere(推荐)Portable(“thumbdriveedition”):绿色版,解压就能运行,免安装,不过绿色版不会在鼠标右键时显示GitGUIHere和Gi

    2022年9月8日
    1
  • Github提交代码却没有显示绿色小格子?帮你找回绿格子!

    Github提交代码却没有显示绿色小格子?帮你找回绿格子!辛辛苦苦提交的代码却没有绿格子?在github上提交代码之后,进入github上面查看自己的提交,可以看看刚刚的提交内容,但是却一直没有显示绿格子,一个原因是本地git的配置邮箱和github上面的邮箱不一致。解决方法:查看你的本地配置邮箱在命令行中输入:gitconfiguser.email查看你的本地配置邮箱.看看是否和github上面绑定的邮箱一致,如果不一致则更改一下。…

    2022年9月28日
    3
  • 光纤通信视频_光纤传输的信号属于什么

    光纤通信视频_光纤传输的信号属于什么目前,光纤在生产和施工方面较于以前有了很大的提升,价格也降低了很多。再加上光纤的传输质量,光纤无疑将成为发展较快的传输模式。马上为您全面剖析光纤传输技术。  光纤通信的原理:在发送端首先要把传送的信息(如视频)变成电信号,然后调制到激光器发出的激光束上,使光的强度随电信号的幅度(频率)变化而变化,并通过光纤发送出去;在接收端,检测器收到光信号后把它变换成电信号,经解调后恢复原信息。  光纤监…

    2022年10月3日
    2

发表回复

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

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