news 2026/6/23 23:15:58

飞凌嵌入式ElfBoard-获取文件的状态信息之fstat

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
飞凌嵌入式ElfBoard-获取文件的状态信息之fstat

fstat函数用来获取已经打开的文件描述符相关的文件状态信息。

1.头文件

#include <sys/stat.h>

2.函数原型

int fstat(int fd, struct stat *statbuf);

3.参数

fd:文件描述符,表示已打开的文件。

statbuf:指向 struct stat 结构的指针,用于存储文件的状态信息。

4.返回值

若成功返回0,失败返回-1

5.示例:(使用fstat获取文件状态信息

#include <stdio.h>

#include <fcntl.h>

#include <sys/stat.h>

#include <time.h>

#include <unistd.h>

void print_time(const char *label, time_t time) {

struct tm *tm_info;

char buffer[26];

tm_info = localtime(&time);

strftime(buffer, sizeof(buffer), "%Y-%m-%d %H:%M:%S", tm_info);

printf("%s: %s\n", label, buffer);

}

int main() {

int fd = open("example.txt", O_RDONLY); // 打开文件,获取文件描述符

if (fd < 0) {

perror("open");

return 1;

}

struct stat file_info;

if (fstat(fd, &file_info) < 0) { // 使用 fstat 获取文件状态信息

perror("fstat");

close(fd);

return 1;

}

// (1) 获取文件的 inode 节点编号和文件大小

printf("Inode number: %ld\n", (long)file_info.st_ino);

printf("File size: %ld bytes\n", (long)file_info.st_size);

// (2) 判断文件的其他用户权限

printf("Readable by others: %s\n", (file_info.st_mode & S_IROTH) ? "Yes" : "No");

printf("Writable by others: %s\n", (file_info.st_mode & S_IWOTH) ? "Yes" : "No");

// (3) 获取文件的时间属性

print_time("Last access time", file_info.st_atime);

print_time("Last modification time", file_info.st_mtime);

print_time("Last status change time", file_info.st_ctime);

close(fd); // 关闭文件描述符

return 0;

6.测试结果

Inode number: 5255757

File size: 17 bytes

Readable by others: Yes

Writable by others: No

Last access time: 2024-08-09 14:12:11

Last modification time: 2024-08-09 14:12:11

Last status change time: 2024-08-09 14:12:11

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/24 0:42:11

你不知道的医学图像配准秘密:基于C++的多模态融合精度提升80%方法

第一章&#xff1a;医学图像配准的核心挑战与C优势医学图像配准是将不同时间、设备或视角下获取的医学影像进行空间对齐的关键技术&#xff0c;广泛应用于肿瘤追踪、手术导航和疾病诊断。然而&#xff0c;该过程面临诸多挑战&#xff0c;包括高维数据处理、非线性形变建模以及实…

作者头像 李华
网站建设 2026/6/24 0:42:10

【游戏AI行为树序列化终极方案】:C#高性能序列化技术全解析

第一章&#xff1a;游戏AI行为树序列化概述在现代游戏开发中&#xff0c;行为树&#xff08;Behavior Tree&#xff09;已成为实现复杂AI逻辑的核心架构之一。为了支持跨平台运行、热更新与编辑器可视化配置&#xff0c;将行为树结构持久化为可存储和传输的格式变得至关重要&am…

作者头像 李华
网站建设 2026/6/23 23:51:08

PHP构建合规医疗系统实战(从加密到审计的完整方案)

第一章&#xff1a;医疗数据的 PHP 合规性存储方案在处理医疗数据时&#xff0c;确保数据存储符合 HIPAA、GDPR 等法规要求是开发者的首要任务。PHP 作为广泛应用的后端语言&#xff0c;需结合加密机制、访问控制与审计日志实现合规性存储。数据加密存储 所有敏感医疗信息在存入…

作者头像 李华
网站建设 2026/6/22 19:34:49

Wan2.2-T2V-A14B支持镜头语言控制了吗?最新功能揭晓

Wan2.2-T2V-A14B支持镜头语言控制了吗&#xff1f;最新功能揭晓 &#x1f3a5;✨ 在短视频当道、内容为王的时代&#xff0c;你有没有想过——“写一段话&#xff0c;就能生成一条堪比影视级运镜的视频” 是不是听起来像科幻片&#xff1f;但今天&#xff0c;这事儿可能真的要成…

作者头像 李华
网站建设 2026/6/22 20:23:09

金融机构不愿公开的风控技术:R语言Copula建模实战案例(仅此一份)

第一章&#xff1a;金融机构不愿公开的风控技术&#xff1a;R语言Copula建模实战案例&#xff08;仅此一份&#xff09;在金融风险管理中&#xff0c;资产收益之间的依赖结构建模至关重要。传统线性相关系数无法捕捉尾部依赖等非线性关系&#xff0c;而Copula模型能有效分离边缘…

作者头像 李华
网站建设 2026/6/23 7:11:26

Wan2.2-T2V-A14B如何实现口型与语音的同步生成?

Wan2.2-T2V-A14B如何实现口型与语音的同步生成&#xff1f; 你有没有遇到过这样的尴尬&#xff1a;AI生成的角色张着嘴&#xff0c;声音却慢半拍&#xff1f;或者明明在说“hello”&#xff0c;嘴唇动得像在嚼口香糖……&#x1f605; 这种“音画不同步”的割裂感&#xff0c;瞬…

作者头像 李华