以下程序使用lstat和stat来获取文件信息。 该程序的主要目的是找到一个在参数中传递的文件的特定问题。
但是,我无法使用此程序可以检测到的文件来识别哪个特定问题。
程序:
#include<sys/types.h>
#include<sys/stat.h>
#include<unistd.h>
#include<stdio.h>
#include<err.h>
int main(int argc, char *argv[])
{
argv++;
while(*argv)
{
struct stat sbuf;
if(lstat(*argv,&sbuf)==0)
{
if(sbuf.st_mode & S_IFLNK)
{
if(stat(*argv, &sbuf)!=0)
{
warn("%s has a problem", *argv);
}
}
}
argv++;
}
}
答案 0 :(得分:2)
lstat
获取有关链接的文件信息
stat
获取有关文件的文件信息。
如果传递的文件名是链接,但该文件不存在,则会warn
。