91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

  • 大小: 10KB
    文件類型: .c
    金幣: 1
    下載: 0 次
    發(fā)布日期: 2021-06-09
  • 語言: C/C++
  • 標(biāo)簽: C??linux??ls??

資源簡介

在liunux下C語言實(shí)現(xiàn)ls的-a,-l,-d,等功能。需要可以下載。

資源截圖

代碼片段和文件信息

/***************myls.c*************************
File?Name:????~/lab4/myls.c
Author:????liujun
Date?Written:????2010/7/20
Date?Last?Modified:????2010/7/20
Purpose:???模擬終端上ls的部分功能
Brief?Description:?模擬終端上ls的部分功能
***********************************************/


#include?
#include
#include
#include?
#include?
#include?
#include?
#include?
#include?

void?print_l(struct?dirent?*dirp?struct?stat?buf)
{
????char?permission[11];
????unsigned?int?mask=0700;
????struct?passwd?*uname;
????struct?group?*gname;
????char?*date;
????int?N_BITS?=?3;
????int?i=3;
????int?j=0;
????static?char*?permess[]={“---““--x““-w-““-wx““r--““r-x““rw-““rwx“};

????if?????(S_ISREG(buf.st_mode))//regular
??????permission[0]=‘-‘;
????else?if(S_ISDIR(buf.st_mode))//directory
??????permission[0]=‘d‘;
????else?if(S_ISCHR(buf.st_mode))//character?special
??????permission[0]=‘c‘;
????else?if(S_ISBLK(buf.st_mode))//block?special
??????permission[0]=‘b‘;
????else?if(S_ISFIFO(buf.st_mode))//fifo
??????permission[0]=‘p‘;
????else?if(S_ISLNK(buf.st_mode))//symbolic?link
??????permission[0]=‘l‘;
????else?if(S_ISLNK(buf.st_mode))//socket
??????permission[0]=‘s‘;
????else????????????????????????//unknown
??????permission[0]=‘*‘;
????while(i>0)
????{
????????permission[1+j*3]=permess[(buf.st_mode?&?mask)>>(i-1)*N_BITS][0];
????????permission[2+j*3]=permess[(buf.st_mode?&?mask)>>(i-1)*N_BITS][1];
????????permission[3+j*3]=permess[(buf.st_mode?&?mask)>>(i-1)*N_BITS][2];
????????i--;
????????j++;
????????mask>>=N_BITS;
?????}
?????permission[10]=‘\0‘;
?????printf(“%s?“permission);???
?????printf(“%d?“buf.st_nlink);??
?????uname?=?getpwuid(buf.st_uid);
?????gname?=?getgrgid(buf.st_gid);????????????????
?????printf(“%-10s%-10s“uname->pw_namegname->gr_name);
?????printf(“%-6u“(unsigned?int)buf.st_size);
?????date?=?(char*)ctime(&buf.st_mtime);
?????date[24]=‘\0‘;
?????printf(“%-10s??%-10s\n“datedirp->d_name);?????
}

void?print_i(struct?dirent?*dirp?struct?stat?buf)
{
???//?struct?stat?buf;
???//?stat(dirp->d_name&buf);
????printf(“%u??%-10s??“(unsigned?int)buf.st_inodirp->d_name);
}

void?print_li(struct?dirent?*dirp?struct?stat?buf)
{
????char?permission[11];
????unsigned?int?mask=0700;
????struct?passwd?*uname;
????struct?group?*gname;
????char?*date;
????int?N_BITS?=?3;
????int?i=3;
????int?j=0;
????static?char*?permess[]={“---““--x““-w-““-wx““r--““r-x““rw-““rwx“};

????if?????(S_ISREG(buf.st_mode))//regular
??????permission[0]=‘-‘;
????else?if(S_ISDIR(buf.st_mode))//directory
??????permission[0]=‘d‘;
????else?if(S_ISCHR(buf.st_mode))//character?special
??????permission[0]=‘c‘;
????else?if(S_ISBLK(buf.st_mode))//block?special
??????permission[0]=‘b‘;
????else?if(S_ISFIFO(buf.st_mode))//fifo
??????permission[0]=‘p‘;
????else?if(S_ISLNK(buf.st_mode))//symbolic?link
??????permission[0]=‘l‘;
????else?if(S_ISLNK(buf.st_mode))//socket
??????permission[0]=‘s‘;
????else???????????????????????

評(píng)論

共有 條評(píng)論

相關(guān)資源