社区
系统维护与使用区
帖子详情
unix和c的高手请进
kyotowolf
2002-09-09 12:47:47
我想检验一个文件或目录的类型,总是得不到正确的结果。
例如,想检验一个文件是不是其他文件的链接,用以下代码是否可行?
if(stat(filename,&statbuf)==-1){
perror("error");
exit(0);
}
if((statbuf.st_mode & S_IFMT) == S_IFLNK ){
printf("%s: link\n",filename);
}
以上代码有什么错误吗?为什么总是不对?
请高手指教。
...全文
66
5
打赏
收藏
unix和c的高手请进
我想检验一个文件或目录的类型,总是得不到正确的结果。 例如,想检验一个文件是不是其他文件的链接,用以下代码是否可行? if(stat(filename,&statbuf)==-1){ perror("error"); exit(0); } if((statbuf.st_mode & S_IFMT) == S_IFLNK ){ printf("%s: link\n",filename); } 以上代码有什么错误吗?为什么总是不对? 请高手指教。
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
5 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
kyotowolf
2002-09-13
打赏
举报
回复
谢谢各位,给分
yixudong
2002-09-09
打赏
举报
回复
stat得到的是你那个连接指向的文件的stat结构,肯定不行了。
用lstat调用,它得到的是文件本身的stat结构。
参阅《linux上的c编程》140页
胖和尚minifat
2002-09-09
打赏
举报
回复
use lstat:
lstat is identical to stat, except in the case of a sym瓓bolic link, where the link itself is stat-ed, not the file that it refers to.
mongtze
2002-09-09
打赏
举报
回复
agree.
blh
2002-09-09
打赏
举报
回复
if((statbuf.st_mode & S_IFMT) == S_IFLNK )测试方法不对,看看man stat
转载:如何学好
UNIX
和C语言
前些天我写了一篇“
Unix
C语言值得注意的地方”一贴,回贴中谈到学习国外的开源软件中的高质量代码的问题,但是有朋友跟我说,在看代码的过程中感觉难度很大,想想也是如此,动辄十几万行的程序如果没有人指点的话是...
Unix
C语言值得注意的地方
前些天我写了一篇“
Unix
C语言值得注意的地方”一贴,回贴中谈到学习国外的开源软件中的高质量代码的问题,但是有朋友跟我说,在看代码的过程中感觉难度很大,想想也是如此,动辄十几万行的程序如果没有人指点的话...
UNIX
技巧:
UNIX
高手
的另外 10 个习惯
UNIX
技巧:
UNIX
高手
的另外 10 个习惯 ...在 Michael Stutz 的优秀文章“
UNIX
高手
的 10 个习惯”的基础上,本文将提供另外 10 个
UNIX
命令行命令、工具和技术,可以使您成为更高效的
UNIX
命令行
高手
。 您应当
UNIX
高手
的 10 个习惯
克服不良的
UNIX
使用模式 采用 10 个能够提高您的
UNIX
® 命令行效率的好习惯——并在此过程中摆脱不良的使用模式。...了解常见错误和克服它们的方法,以便您能够确切了解为何值得采用这些
UNIX
习惯。
系统维护与使用区
19,615
社区成员
74,584
社区内容
发帖
与我相关
我的任务
系统维护与使用区
系统使用、管理、维护问题。可以是Ubuntu, Fedora, Unix等等
复制链接
扫一扫
分享
社区描述
系统使用、管理、维护问题。可以是Ubuntu, Fedora, Unix等等
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章