news 2026/9/25 7:48:07

飞凌嵌入式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/25 4:05:32

企业级数据治理自动化:Apache Airflow的架构革命与实践指南

企业级数据治理自动化&#xff1a;Apache Airflow的架构革命与实践指南 【免费下载链接】airflow Airflow 是一款用于管理复杂数据管道的开源平台&#xff0c;可以自动执行任务并监控其状态。高度可定制化、易于部署、支持多种任务类型、具有良好的可视化界面。灵活的工作流调度…

作者头像 李华
网站建设 2026/9/25 3:16:16

VFXToolbox:重新定义Unity视觉特效创作效率的完整解决方案

还在为复杂的视觉特效制作流程而烦恼吗&#xff1f;&#x1f914; 想要在Unity中快速生成专业级的粒子效果和动画纹理&#xff1f;VFXToolbox正是为你量身打造的利器&#xff01;这款由Unity Technologies精心开发的工具包&#xff0c;专为现代VFX艺术家和游戏开发者设计&#…

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

12月12日工作周报

在12月8日上午&#xff0c;检查了网页的完整性。在12月8日下午&#xff0c;检查了网页各项功能的正常运行&#xff0c;以及数据的完整性。在12月10日上午&#xff0c;检查了代码的各项功能是否正常。在12月12日上午&#xff0c;进行了职业规划大赛的报名&#xff0c;进行了相关…

作者头像 李华
网站建设 2026/9/23 8:50:09

STM32-SPI数据发送/接收代码

#include "stm32f10x.h"void App_SPI1_Init(void);//APP表示应用层代码&#xff0c;也就是用户自己写的 void APP_SPI_MasterTransmitReceive(SPI_TypeDef *SPIx, const uint8_t *pDataTx, uint8_t *pDataRx, uint16_t Size);int main(void) {void App_SPI1_Init();w…

作者头像 李华
网站建设 2026/9/25 6:39:52

平替语雀和石墨文档?快速私有化部署一套开源在线文档管理系统吧

在企业运营中&#xff0c;海量文档散落在各个员工的电脑、聊天工具和公共网盘中&#xff0c;核心资料面临泄露风险&#xff0c;团队协作效率低&#xff0c;信息查找如同大海捞针...... 市面上的SaaS文档虽然方便&#xff0c;但是数据安全、定制化需求和长期成本不可忽视。 现…

作者头像 李华