news 2026/5/1 8:50:04

飞凌嵌入式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/4/18 7:16:53

【光照】UnityURP为什么要[Gamma矫正]?

伽马校正的定义与原理伽马校正是对颜色值进行非线性变换的过程&#xff0c;其核心是通过幂函数&#xff08;γ函数&#xff09;调整亮度值&#xff0c;使人眼感知更均匀。数学表达式为&#xff1a;输出 输入^γ&#xff0c;其中γ0.45用于编码&#xff08;sRGB到线性空间&…

作者头像 李华
网站建设 2026/4/28 4:37:46

PHP 桌面端框架NativePHP for Desktop v2 发布!

v2 的新特性&#x1f44b;&#x1f3fc; 新仓库,新面貌v2 已在统一的仓库 nativephp/desktop 下发布。这次更新将之前的两个独立仓库(nativephp/laravel 和 nativephp/electron)合并到了一个项目中。这样的调整不仅与 nativephp/mobile 保持了一致性,也使得整个项目更易于维护,…

作者头像 李华
网站建设 2026/4/17 16:16:35

iOS Core ML图像处理实战:从CVPixelBuffer到高性能推理

iOS Core ML图像处理实战&#xff1a;从CVPixelBuffer到高性能推理 【免费下载链接】CoreMLHelpers Types and functions that make it a little easier to work with Core ML in Swift. 项目地址: https://gitcode.com/gh_mirrors/co/CoreMLHelpers 在移动端AI应用开发…

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

5分钟掌握MineContext容器化部署:零门槛Docker安装终极指南

5分钟掌握MineContext容器化部署&#xff1a;零门槛Docker安装终极指南 【免费下载链接】MineContext MineContext is your proactive context-aware AI partner&#xff08;Context-EngineeringChatGPT Pulse&#xff09; 项目地址: https://gitcode.com/GitHub_Trending/mi…

作者头像 李华
网站建设 2026/4/26 14:01:26

VSCode 推出 绿色版!更强!更智能!

VSCode “绿色版”&#xff1f;哈哈&#xff0c;可能是绿茶君的谣言&#xff0c;还是真有其事&#xff1f;来扒一扒&#xff01; 哇&#xff0c;看到你这句“VSCode 推出 绿色版&#xff01;更强&#xff01;更智能&#xff01;”&#xff0c;我第一反应是&#xff1a;这不会是…

作者头像 李华