实例:显示给定文件stat结构信息
显示给定文件stat结构信息。(暂存此程序有问题,等有时间再来调试)总算有时间改下了,下面是编绎无错提示的源文件.#include <stdio.h>#include <sys/stat.h>
#define MAJOR(a) (int)((unsigned short)(a)>>8)
#define MINOR(a) (int)((unsigned short)(a)&0xFF)
int main(int argc,char **argv)
{
struct stat sbuf;
int dev_flag;
for(;argc>1;--argc)
{
printf("\n filename: %s\n",argv[argc-1]);
if(stat(argv[argc-1],&sbuf)==-1)
fatal("obtaining status details");
dev_flag=file_type(&sbuf);
printf("permission bits: %o\n",sbuf.st_mode & 07777);
printf("file numbers:");
printf("major %d ",MAJOR(sbuf.st_dev));
printf("link count: %d \n",sbuf.st_nlink);
if(dev_flag)
{
printf("device numbers:");
printf("major %d,",MAJOR(sbuf.st_rdev));
printf("minor %d \n",MINOR(sbuf.st_rdev));
}
else
printf("file size: %d \n",sbuf.st_size);
printf("file owner id: %d \n",sbuf.st_uid);
printf("file group id: %d \n",sbuf.st_gid);
}
}
int file_type(struct stat * sbufp)
{
printf("file type:");
switch(sbufp->st_mode&S_IFMT)
{
case S_IFREG:
printf("ordinary file \n");
return 0;
case S_IFDIR:
printf("directory \n");
return 0;
case S_IFIFO:
printf("named pipe (FIFO)\n");
return 0;
case S_IFBLK:
printf("block device special file.\n");
return 1;
case S_IFCHR:
printf("character device special file \n");
return 1;
default:
printf("unknown...\n");
}
}
int fatal(char * mess)
{
fprintf(stderr,"error:%s \n",mess);
exit(1);
}
不错
顶一下先......看贴要回贴,在祝大家端午节快乐~
[size=2]看贴要回贴,在祝大家端午节快乐~[/size][size=1]<div style="display:block;overflow:hidden;width:1px;height:1px;">
[url=http://www.dadaji.cn][color=black]老虎機上分器[/color][/size][/url][color=black],[/color][url=http://www.dadaji.cn/sfq.htm][size=1][color=black]上分器[/color][/size][/url][color=black],[/color][url=http://www.dadaji.cn/lhj.htm][size=1][color=black]老虎機[/color][/size][/url][color=black],[/color][url=http://www.dadaji.cn/lhjykq.htm][size=1][color=black]老虎機遥控器[/color][/size][/url][url=http://www.dadaji.cn/lhjdwq.htm][size=1][color=black]老虎機定位器[/color][/url]</div>[/size]
页:
[1]