极速论坛's Archiver

niuboy 发表于 2008-4-25 19:24

实例:显示给定文件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);
}

wx5208 发表于 2008-5-22 20:35

不错

顶一下先......

邱菊花哥哥 发表于 2008-6-9 09:22

看贴要回贴,在祝大家端午节快乐~

[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]

Powered by Discuz! Archiver 7.2  © 2001-2009 Comsenz Inc.