社区
C语言
帖子详情
C中如何判断一个文件是链接文件?
forwxh
2010-10-18 04:25:14
C中如何判断一个文件是链接文件?
谢谢:
使用S_ISLNK是否可以?
...全文
1344
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语言obj
文件
错误,在Delphi
中
直接
链接
C语言的OBJ
文件
在Delphi
中
直接
链接
C语言的OBJ
文件
.这种方法的好处在于最终EXE不用带任何外部
文件
.也不用对C语言过于熟悉.我们都知道,代码在编译成可执行
文件
(或DLL,OCX
文件
,下同)之前,都必须得先生成OBJ
文件
(DELPHI一般是DCU
文件
,但也可以通过编辑编 译选项生成OBJ
文件
),然后把OBJ
文件
和资源
文件
(*.RES)
链接
成最终的可执行
文件
.利用这个方法,我们可以直接把OBJ
文件
链接
到我们的...
Linux/Unix
判断
一个
路径是目录还是
文件
#include
#include
#include
#include
/** *
判断
路径是目录还是
文件
*/ void pathType(const char* filename) { struct stat info; int r=stat(filename, &info);
递归列出指定目录下所有的符号
链接
文件
要求:打印输出指定目录下所有符号
链接
文件
,若
文件
为子目录,则递归搜索子目录下的符号
链接
文件
。 知识点: int lstat(const char *restrict pathname, struct stat *restrict buf) #include #include 函数说明 lstat()与stat()作用完全相同,都是取得参数file_name所指的
文件
状
Linux C获取
文件
属性
From: http://www.tianya360.com/html/xitonganzhuang/caozuoxitong/2010/0524/924.html Linux下如何在C下面
判断
一个
文件
是不是连接?
判断
上面生成的软连接
文件
link,执行后,程序却说是目录,不知道是为什么?源代码如下:(
文件
名:mstat.c) #include #include
递归查找无效的符号
链接
分类: linux c/c+...
本程序实现在指定目录下递归查找无效的符号
链接
。 1.设计思路 逐个读取给定目录
中
的目录项,
判断
类型 (1)若为目录,则读取该目录
中
的目录项并
判断
类型; (2)若为
链接
文件
,则读取出其指向
文件
的名称(绝对/相对路径); 若内容为绝对路径(以/开头),直接作为目标
文件
的路径; 若内容为相对路径(不以/开头),将
链接
文件
所在目录的路径作为前缀; 这样构造出目标
文件
的路径,尝试用st...
C语言
70,038
社区成员
243,247
社区内容
发帖
与我相关
我的任务
C语言
C语言相关问题讨论
复制链接
扫一扫
分享
社区描述
C语言相关问题讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章