news 2026/9/22 1:15:31

飞凌嵌入式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/9/21 22:38:48

故障注入测试:构建高韧性系统的工程实践

在分布式系统复杂度呈指数级增长的今天&#xff0c;传统测试方法已难以覆盖所有故障场景。根据Gartner最新研究报告&#xff0c;到2026年采用混沌工程实践的企业将减少80%的系统宕机时间。故障注入测试作为混沌工程的核心技术&#xff0c;通过主动在系统中引入故障来验证容错机…

作者头像 李华
网站建设 2026/9/21 23:40:15

WinSetView终极指南:如何快速统一Windows文件夹视图设置

WinSetView终极指南&#xff1a;如何快速统一Windows文件夹视图设置 【免费下载链接】WinSetView Globally Set Explorer Folder Views 项目地址: https://gitcode.com/gh_mirrors/wi/WinSetView WinSetView是一款专为Windows系统设计的免费开源工具&#xff0c;能够帮助…

作者头像 李华
网站建设 2026/9/21 16:51:17

ImageGPT技术解析:像素序列预测如何重构视觉AI底层架构

在当今快速发展的视觉AI领域&#xff0c;一个看似简单的技术理念正在重新定义图像生成的基本逻辑。OpenAI推出的ImageGPT模型通过"像素序列预测"这一创新思路&#xff0c;为2025年多模态大模型的演进奠定了重要基础。本文将深入剖析这一技术突破的核心原理、应用价值…

作者头像 李华
网站建设 2026/9/21 19:18:50

Beyond Compare 5 密钥生成完整指南:从原理到实战应用

Beyond Compare 5 密钥生成完整指南&#xff1a;从原理到实战应用 【免费下载链接】BCompare_Keygen Keygen for BCompare 5 项目地址: https://gitcode.com/gh_mirrors/bc/BCompare_Keygen Beyond Compare 作为一款功能强大的文件对比工具&#xff0c;其授权机制一直是…

作者头像 李华
网站建设 2026/9/21 4:59:17

手艺人札记:在开源系统中重塑技术的温度

长久以来&#xff0c;技术被谈论为一种近乎冷酷的建造艺术&#xff1a;架构、性能、工具链。然而&#xff0c;在我的旅程中&#xff0c;一次深刻的转变发生了——技术成长对我而言&#xff0c;逐渐从建造摩天大楼&#xff0c;转向了修复与塑造一件拥有生命力的器物。这一切&…

作者头像 李华
网站建设 2026/9/21 23:36:58

5种方法彻底解决番茄小说离线下载难题

5种方法彻底解决番茄小说离线下载难题 【免费下载链接】fanqienovel-downloader 下载番茄小说 项目地址: https://gitcode.com/gh_mirrors/fa/fanqienovel-downloader 你是否经历过这样的尴尬场景&#xff1a;地铁信号断断续续&#xff0c;正看到精彩章节却无法加载&…

作者头像 李华