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

  • 大小: 23KB
    文件類型: .rar
    金幣: 2
    下載: 0 次
    發布日期: 2021-06-13
  • 語言: 其他
  • 標簽: linux??ls??源代碼??

資源簡介

個人寫的一個簡單的 ls命令,可能會有錯誤,希望有興趣的可以交流交流!!

資源截圖

代碼片段和文件信息

#include?“stdio.h“
#include?“unistd.h“
#include?“stdlib.h“
#include?“sys/types.h“
#include?“sys/stat.h“
#include?“fcntl.h“
#include?“pwd.h“
#include?“grp.h“
#include?“dirent.h“
#define?NAME_SIZE?100
typedef?struct?item
{
char?name[NAME_SIZE];
int?length;
struct?stat?st;
struct?item?*next;
}nNode;

#define?MARK_FILE(valueflags)?((flags)?=?(((value)&ALL_FILE)|(flags)))
#define?DEL_FILE(valueflags)??((flags)?=?((~(value))&(flags)))
#define?MARK_INFO(valueflags)?((flags)?=?(((value)&STAT_ALL_INFO)|(flags)))
#define?DEL_INFO(valueflags)??((flags)?=?((~(value))&(flags)))
#define?MARK(valueflags)??????((flags)?=?((value)|(flags)))
#define?DEL(valueflags)???????((flags)?=?((~(value))&(flags)))

#define?FILE_TYPE??0xf8000000
#define?OTH_FILE???0x80000000
#define?DIR_FILE???0x40000000
#define?REG_FILE???0x20000000
#define?BAK_FILE???0x10000000
#define?DOT_FILE???0x08000000
#define?ALL_FILE???0xf8000000

#define?STAT_ALL_INFO???0x07f00000
#define?STAT_GROUP??????0x04000000
#define?STAT_OWNER??????0x02000000
#define?STAT_NUMID??????0x01000000
#define?STAT_SIZE???????0x00800000???//0?present?bytes?1?present?k?or?m?
#define?STAT_INODE??????0x00400000
#define?STAT_TIME???????0x00200000
#define?STAT_PERMISSION?0x00100000

#define?STAT_COLOR??????0x00080000??????
#define?STAT_RECUR??????0x00040000
#define?STAT_HR?????????0x00020000
void?AddnNode(nNode?**headchar?*namestruct?stat?*st);
void?freeNode(nNode?*head?);
void?do_ls(char?*filenameint?flagsnNode?**head);
void?showitem(char?*name?struct?stat?*stint?flags);
void?showfile(nNode?*headint?flags);
void?quitsort(char?**arrayint?highint?low);




void?format_permission(struct?stat?*st)
{
int?mode?=?st->st_mode;
char?buf[12];
memset(buf‘-‘11);
buf[11]=0;

if(S_ISDIR(mode))??buf[0]?=?‘d‘;
else?if(S_ISCHR(mode))??buf[0]?=?‘c‘;
else?if(S_ISBLK(mode))??buf[0]?=?‘b‘;?
else?if(S_ISFIFO(mode))?buf[0]?=?‘p‘;
else?if(S_ISLNK(mode))??buf[0]?=?‘l‘;
else?if(S_ISSOCK(mode))?buf[0]?=?‘s‘;
?????
????if(S_IRUSR&mode)?buf[1]?=?‘r‘;
????if(S_IWUSR&mode)?buf[2]?=?‘w‘;
????if(S_IXUSR&mode)?buf[3]?=?‘x‘;

????if(S_IRGRP&mode)?buf[4]?=?‘r‘;
????if(S_IWGRP&mode)?buf[5]?=?‘w‘;
????if(S_IXGRP&mode)?buf[6]?=?‘x‘;

????if(S_IROTH&mode)?buf[7]?=?‘r‘;
????if(S_IWOTH&mode)?buf[8]?=?‘w‘;
if(S_IXOTH&mode)?buf[9]?=?‘x‘;

if(S_ISUID&mode)?buf[3]?=?‘s‘;
if(S_ISGID&mode)?buf[6]?=?‘s‘;
if(S_ISVTX&mode)?buf[10]?=?‘s‘;
printf(“%s??“buf);
}

void?format_group(struct?stat?*st)
{
int?id?=?st->st_uid;
struct?group?*buf?=?getgrgid(id);
if(buf)
{
printf(“%s??“buf->gr_name);
}else
{
printf(“%d??“id);
}
}

void?format_owner(struct?stat?*st)
{
int?id?=?st->st_gid;
struct?passwd?*buf_pw?=?getpwuid(id);
if(buf_pw)
{
printf(“%s?“buf_pw->pw_name);
}else
{
printf(“%d?“id);
}
}

void?format_time(struct?stat?*st)
{
char?*buf=?ctime(&(st->st_ctime));
buf?+=4;
buf[strlen(buf)-1]=0;
printf(“%s??“buf);
}

void?format_numid(struct?stat?*st)
{
printf(“%d?%d??“st->st_uidst->st_gid);
}


void?main(int?arg

?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----

?????文件????????292??2009-08-25?14:43??ls\add

?????文件????????574??2009-08-25?14:43??ls\add!

?????文件?????????49??2009-08-25?14:43??ls\hello

?????文件??????11967??2009-08-25?14:43??ls\ls

?????文件???????9900??2009-08-25?14:43??ls\ls.c

?????文件???????5896??2009-08-25?14:43??ls\ls.c.cpy

?????文件???????9900??2009-08-25?14:43??ls\ls.c~

?????文件???????5605??2009-08-25?14:43??ls\quitsort

?????文件????????934??2009-08-25?14:43??ls\quitsort.c

?????文件????????934??2009-08-25?14:43??ls\quitsort.c~

?????文件??????????1??2009-08-25?14:43??ls\quitsort~

?????文件????????659??2009-08-25?14:43??ls\strcmp.c

?????文件????????659??2009-08-25?14:43??ls\strcmp.c~

?????文件???????4931??2009-08-25?14:43??ls\test

?????文件???????1335??2009-08-25?14:43??ls\test.c

?????文件???????1302??2009-08-25?14:43??ls\test.c~

?????文件???????5126??2009-08-25?14:43??ls\testpp

?????文件????????276??2009-08-25?14:43??ls\testpp.c

?????文件????????278??2009-08-25?14:43??ls\testpp.c~

?????目錄??????????0??2009-09-23?13:46??ls

-----------?---------??----------?-----??----

????????????????60618????????????????????20


評論

共有 條評論