社区
C语言
帖子详情
C中如何判断一个文件是链接文件?
forwxh
2010-10-18 04:25:14
C中如何判断一个文件是链接文件?
谢谢:
使用S_ISLNK是否可以?
...全文
1206
9
打赏
收藏
C中如何判断一个文件是链接文件?
C中如何判断一个文件是链接文件? 谢谢: 使用S_ISLNK是否可以?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
9 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
justkk
2010-10-19
打赏
举报
回复
你不能使用fstat来获取文件信息,这样获取的是链接的目标文件
像1楼说的,可以使用lstat获取链接文件本身的信息,然后再测试
forwxh
2010-10-19
打赏
举报
回复
int main(int argc, char **argv)
{
if(argc != 2)
return 1;
int file=0;
if((file=open(argv[1],O_RDONLY)) < -1)
return 1;
struct stat fileStat;
if(fstat(file,&fileStat) < 0)
return 1;
printf("Information for %s\n",argv[1]);
printf("---------------------------\n");
printf("File Size: \t\t%d bytes\n",fileStat.st_size);
printf("Number of Links: \t%d\n",fileStat.st_nlink);
printf("File inode: \t\t%d\n",fileStat.st_ino);
printf("File Permissions: \t");
printf( (S_ISDIR(fileStat.st_mode)) ? "d" : "-");
printf( (fileStat.st_mode & S_IRUSR) ? "r" : "-");
printf( (fileStat.st_mode & S_IWUSR) ? "w" : "-");
printf( (fileStat.st_mode & S_IXUSR) ? "x" : "-");
printf( (fileStat.st_mode & S_IRGRP) ? "r" : "-");
printf( (fileStat.st_mode & S_IWGRP) ? "w" : "-");
printf( (fileStat.st_mode & S_IXGRP) ? "x" : "-");
printf( (fileStat.st_mode & S_IROTH) ? "r" : "-");
printf( (fileStat.st_mode & S_IWOTH) ? "w" : "-");
printf( (fileStat.st_mode & S_IXOTH) ? "x" : "-");
printf("\n\n");
printf("The file %s a symbolic link\n\n", (S_ISLNK(fileStat.st_mode)) ? "is" : "is not");
return 0;
}
当测试一个链接文件123(指向/tmp/99999.txt)时,显示的是/tmp/99999.txt的属性,请指点下~~
sfd1234
2010-10-19
打赏
举报
回复
试了不行那就是不行嘛!
forwxh
2010-10-19
打赏
举报
回复
使用S_ISLNK时,当测试一个链接文件时,提示为不是链接文件:
struct stat filestat;
(s_link(filestat.st_mode))?"is":"is not"
yueyinggufan
2010-10-18
打赏
举报
回复
man fcntl
luciferisnotsatan
2010-10-18
打赏
举报
回复
lz你自己试下你的想法就可以了
justkk
2010-10-18
打赏
举报
回复
lz自己都想到了
why not try 一下..
小魔菇
2010-10-18
打赏
举报
回复
fstat- get file status
S_ISLNK(m) symbolic link?
try325
2010-10-18
打赏
举报
回复
1
是linux中的链接文件吗?
试试lstat()函数
《C深度解析》第一章 c编译、
链接
视频教程
课程内容:1. IDE 与 源
文件
开发方式的异同2. 编译的详细过程3. 编译器集合的组成4. gcc -v,编译信息的详细分析5. 可重定位目标
文件
(.o)格式介绍6.
链接
器
链接
时,符号解析和重定位做了什么事情7. 可执行目标
文件
的格式,以及可执行目标
文件
的加载、执行8. 程序内存结构介绍 代码和数据(常量、变量)是如何存放在程序的内存结构
中
的
Linux入门学习(四)—— 什么
链接
文件
?软
链接
文件
和硬
链接
文件
有什么区别以及特点?
引言:上期回顾(想要学习的童鞋可以点击看看) 前几章我们所说的命令都是针对
文件
和
文件
夹,和一些常用操作。今天我们来学习特殊一点的
文件
"
链接
文件
",这一章节会告诉大家什么是
链接
文件
,以及
链接
文件
有几种类型,有什么区别,在什么地方使用到。
链接
文件
之前在第一章就有提到过,查看
一个
文件
的详细信息会有
一个
"drwxr-xr-x"之类信息,第1个字母为"l"的为
链接
文件
,这个是
链接
文件
的特点之一,赶...
C语言 | 什么是动态
链接
与静态
链接
?
什么是
链接
? 对于初学C语言的朋友,可能对
链接
这个概念有点陌生,这里简单介绍一下。我们的C代码编译生成可执行程序会经过如下过程:
链接
就是把目标
文件
与一些库
文件
生成可执行
文件
的
一个
过程。关于更详细的编译过程,可查阅往期笔记:C语言的编译过程 静态、动态
链接
? 1、什么是静态
链接
? 静态
链接
是由
链接
器在
链接
时将库的内容加入到可执行程序
中
的做法。
链接
器是
一个
独立程序,将
一个
或多个库或目标
文件
(先前由...
c语言 测试
文件
存在,c语言 file如何
判断
文件
是否存在
c语言
中
如何
判断
文件
是否存在一般情况下,我们可以使用函数stat(), access() 和fopen()来检验
文件
是否存在,但是由于
文件
权限的问题,有时可能不像结果所言,可能不是因为
文件
不存在,而是没有打开的权限。函数fopen通常情况下使用fopen主要用于读写
文件
,而我们就可以在这个上面做文章,通过以只读r的模式打开,如果失败,就是
文件
不存在咯。1234567891011FILE *fp;f...
linux如何查看
文件
连接,Linux下如何查看
一个
文件
是否拥有软
链接
或硬
链接
文件
?...
问题1:我创建了
一个
硬
链接
文件
,但是我不知道放在那里了,请问怎么办?思路:查找
文件
可以利用find命令。硬
链接
的特性,不会跨
文件
系统,所以源
文件
在哪个
文件
系统
中
,就在那里找硬
链接
文件
和源
文件
具有相同的inode号,可以利用find的-inum参数和-samefile参数来查找。-inum参数表示按照inode号去查找,首先要查看
文件
的inode号-samefile参数表示查找和某个
文件
相同的ino...
C语言
69,369
社区成员
243,081
社区内容
发帖
与我相关
我的任务
C语言
C语言相关问题讨论
复制链接
扫一扫
分享
社区描述
C语言相关问题讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章