news 2026/1/2 14:44: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进行投诉反馈,一经查实,立即删除!
网站建设 2025/12/25 19:28:08

DAPO浅析

目标&#xff1a;降低错误样本的长度 (token-level loss)训练更加稳定 (overlong filter)避免generation entropy的塌陷&#xff08;higher clip&#xff09;提高训练效率&#xff08;dynamic sample&#xff09;Method整体优化目标如下JE(q,a)∼D,{oi}Gi1∼πold(⋅|q)[1∑Gi1…

作者头像 李华
网站建设 2025/12/12 12:16:59

数据驱动测试框架的架构设计与工程实践

1. 数据驱动测试的核心价值与设计原则 1.1 数据驱动测试的基本概念 数据驱动测试&#xff08;Data-Driven Testing&#xff0c;DDT&#xff09;是一种将测试逻辑与测试数据分离的自动化测试方法论。其核心思想是通过外部数据源驱动测试用例的执行&#xff0c;使得同一测试脚本…

作者头像 李华
网站建设 2025/12/12 12:16:10

ExplorerPatcher:Windows界面定制终极指南,重获系统掌控权!

ExplorerPatcher&#xff1a;Windows界面定制终极指南&#xff0c;重获系统掌控权&#xff01; 【免费下载链接】ExplorerPatcher 提升Windows操作系统下的工作环境 项目地址: https://gitcode.com/GitHub_Trending/ex/ExplorerPatcher 你是否厌倦了Windows 11强制推送的…

作者头像 李华
网站建设 2025/12/12 12:15:53

为什么说“能清晰表达任务”才是未来最值钱的能力?

——一个智能体工程师的底层观察过去两年&#xff0c;我一直在做一件事&#xff1a;把 AI 从“好玩”变成“好用”。越深入智能体系统&#xff08;Agent System&#xff09;&#xff0c;我越确信一件事&#xff1a;未来最核心的能力&#xff0c;不是会写代码&#xff0c;不是会…

作者头像 李华
网站建设 2025/12/17 15:50:15

Windows 11离线安装.NET Framework 3.5:终极完整指南

Windows 11离线安装.NET Framework 3.5&#xff1a;终极完整指南 【免费下载链接】已解决Win11离线安装.NETFramework3.5完全指南 【已解决】Win11离线安装.NET Framework 3.5完全指南 项目地址: https://gitcode.com/Resource-Bundle-Collection/d5cb0 还在为Windows 1…

作者头像 李华