news 2026/5/16 5:26:06

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

作者头像

张小明

前端开发工程师

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

1.头文件

#include <sys/stat.h>

2.函数原型

int lstat(const char *pathname, struct stat *statbuf);

3.参数

pathname:符号链接的路径

statbuf:执行struct stat结构的指针,用来存储符号链接的状态信息。

4.返回值

返回值:成功返回0 失败返回-1。

5.示例:(使用lstat获取符号链接状态信息

#include <stdio.h>

#include <stdlib.h>

#include <sys/stat.h>

#include <unistd.h>

void print_file_info(const char *path) {

struct stat file_info;

if (lstat(path, &file_info) < 0) {

perror("lstat");

exit(EXIT_FAILURE);

}

printf("File: %s\n", path);

if (S_ISLNK(file_info.st_mode)) {

printf("Type: Symbolic link\n");

} else {

printf("Is not Symbolic link\n");

}

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

printf("Permissions: ");

printf((S_ISDIR(file_info.st_mode)) ? "d" : "-");

printf((file_info.st_mode & S_IRUSR) ? "r" : "-");

printf((file_info.st_mode & S_IWUSR) ? "w" : "-");

printf((file_info.st_mode & S_IXUSR) ? "x" : "-");

printf((file_info.st_mode & S_IRGRP) ? "r" : "-");

printf((file_info.st_mode & S_IWGRP) ? "w" : "-");

printf((file_info.st_mode & S_IXGRP) ? "x" : "-");

printf((file_info.st_mode & S_IROTH) ? "r" : "-");

printf((file_info.st_mode & S_IWOTH) ? "w" : "-");

printf((file_info.st_mode & S_IXOTH) ? "x" : "-");

printf("\n");

}

int main() {

const char *path = "example_symlink";

// 测试路径是否存在的符号链接

print_file_info(path);

return 0;

}

查看当前目录下的文件:

$ls -l

total 20

lrwxrwxrwx 1 elf forlinx 10 8月 9 15:17 example_symlink -> /proc/kmsg

-rwxr-xr-x 1 elf forlinx 16272 8月 9 15:52 lstat_test

-rw-r--r-- 1 elf forlinx 1233 8月 9 15:52 lstat_test.c

6.执行命令,查看测试结果

File: example_symlink

Type: Symbolic link

Size: 10 bytes

Permissions: -rwxrwxrwx

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

Citra模拟器终极使用指南:10分钟快速上手畅玩3DS游戏

Citra模拟器终极使用指南&#xff1a;10分钟快速上手畅玩3DS游戏 【免费下载链接】citra 项目地址: https://gitcode.com/GitHub_Trending/ci/citra 还在为电脑上玩3DS游戏而烦恼吗&#xff1f;Citra模拟器作为一款功能强大的开源项目&#xff0c;让你轻松在Windows、m…

作者头像 李华
网站建设 2026/5/15 20:33:25

告别“全有或全无”!Android 17 通讯录授权迎来精细化管理

科技媒体 Android Authority 近日发布博文&#xff0c;报道称在安卓 17 系统中&#xff0c;谷歌计划原生引入的“联系人选择器”工具&#xff0c;旨在解决当前“全有或全无”的通讯录权限问题&#xff0c;从而大幅提升用户隐私保护。 Android出海援引博文介绍&#xff0c;安卓…

作者头像 李华
网站建设 2026/5/9 13:41:54

GSE宏编译器完整指南:魔兽世界玩家的终极宏编写解决方案

GSE宏编译器完整指南&#xff1a;魔兽世界玩家的终极宏编写解决方案 【免费下载链接】GSE-Advanced-Macro-Compiler GSE is an alternative advanced macro editor and engine for World of Warcraft. It uses Travis for UnitTests, Coveralls to report on test coverage and…

作者头像 李华
网站建设 2026/4/25 18:31:03

为什么真正的智能体系统,一定要引入“状态机”?

大家好&#xff0c;我是Wise&#xff0c;一个在互联网行业写了 20 多年代码的老兵。这两年 All In 智能体&#xff0c;我越做越确定一件事——所有能长期稳定运行的 Agent&#xff0c;本质上都是一台“状态机”。 不是 LLM 决定系统是否可控&#xff0c;而是“状态管理”决定你…

作者头像 李华
网站建设 2026/5/9 3:36:50

未来的公司不是“部门协作”,而是“智能体协作”

过去 20 年&#xff0c;企业组织的讨论几乎绕不开一个关键词&#xff1a;“协作”。跨部门协作、扁平化协作、敏捷协作、虚拟协作团队……每一波管理潮流&#xff0c;都在试图回答同一个问题&#xff1a;如何让人更高效地一起工作&#xff1f;然而 2025 年以后&#xff0c;这个…

作者头像 李华
网站建设 2026/4/28 20:05:48

CSP-J/S 2025 第一轮游记

前言感觉这次 CSP 打的还可以&#xff0c;达到超过分数线 1010 分的目标了。希望复赛也能拿到可观的分数。当然&#xff0c;You have no egg!。考前三天考前三天。一到机房就和 yanzixuan2024 它们打术士&#xff0c;真不错。考前两天下午 4:00&#xff0c;竞赛生颁奖啦&#x…

作者头像 李华