社区
C语言
帖子详情
C中如何判断一个文件是链接文件?
forwxh
2010-10-18 04:25:14
C中如何判断一个文件是链接文件?
谢谢:
使用S_ISLNK是否可以?
...全文
1295
9
打赏
收藏
C中如何判断一个文件是链接文件?
C中如何判断一个文件是链接文件? 谢谢: 使用S_ISLNK是否可以?
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用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语言 file如何
判断
文件
是否存在
c语言
中
如何
判断
文件
是否存在一般情况下,我们可以使用函数stat(), access() 和fopen()来检验
文件
是否存在,但是由于
文件
权限的问题,有时可能不像结果所言,可能不是因为
文件
不存在,而是没有打开的权限。函数fopen通常情况下使用fopen主要用于读写
文件
,而我们就可以在这个上面做文章,通过以只读r的模式打开,如果失败,就是
文件
不存在咯。1234567891011FILE *fp;f...
解决vscode
中
C语言
中
多
文件
链接
问题
解决vscode
中
C语言
中
多
文件
链接
问题
c语言目标
文件
作用,关于编译:C语言
中
的目标
文件
是什么?
我正在阅读有关C语言
中
的库的信息,但尚未找到关于什么是目标
文件
的解释。 其他任何编译
文件
和目标
文件
之间的真正区别是什么?如果有人能够用人类语言进行解释,我将感到非常高兴。
一个
更活跃的版本:stackoverflow.com/questions/12122446/目标
文件
是编译阶段的实际输出。它主要是机器代码,但是具有允许
链接
程序查看其
中
包含什么符号以及其正常工作所需的符号的信息。 (作为参考,"符...
linux c
判断
文件
打开
文件
,Linux 用C语言
判断
文件
和
文件
夹
Linux 用C语言
判断
文件
和
文件
夹#include #include #include #include int access(const char *pathname, int mode);int is_file_exist(const char*file_path){if(file_path==NULL){return -;}if(access(file_path,F_OK)==){retu...
c语言
中
文件
的作用,C语言项目
中
.h
文件
和.c
文件
的关系详解
C语言项目
中
.h
文件
和.c
文件
的关系详解C语言项目
中
.h
文件
和.c
文件
有何关系?下面百分网小编带大家一起来看看详细内容,希望对大家有所帮助!想了解更多相关信息请持续关注我们应届毕业生考试网!在编译器只认识.c(.cpp))
文件
,而不知道.h是何物的年代,那时的人们写了很多的.c(.cpp)
文件
,渐渐地,人们发现在很多.c(.cpp)
文件
中
的声明语句就是相同的,但他们却不得不
一个
字
一个
字地重复地将这...
C语言
70,023
社区成员
243,263
社区内容
发帖
与我相关
我的任务
C语言
C语言相关问题讨论
复制链接
扫一扫
分享
社区描述
C语言相关问题讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章