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

  • 大小: 6KB
    文件類型: .c
    金幣: 1
    下載: 0 次
    發(fā)布日期: 2021-05-22
  • 語言: 其他
  • 標簽: ls??

資源簡介

ls命令實現(xiàn),實現(xiàn)了ls -l,-i,-a,-t,-R等功能,能對絕對路徑進行l(wèi)s查詢

資源截圖

代碼片段和文件信息

#include???
#include???
#include???
#include???
#include???
#include???
#include???
#include?
int?flag[10];
void?myls(char?dir[]?int?flag[]);
int?para2num(int?flag[]?char?str[]);
void?display(char?filename[]struct?stat*?info_p);
void?quicksort(struct?stat?infos[]??char?(*files)[100]?int?low?int?high);
int?partition(struct?stat?infos[]??char?(*files)[100]?int?low?int?high);
int?main(int?argc?char?**argv)
{
if?(argc?==?1)?myls(“.“?flag);
else
{
int?i?=?1;
if?(argv[1][0]?==?‘-‘)
{
para2num(flag?argv[1]);
i++;
}
if?(i==argc)?myls(“.“?flag);
else
{
int?j?=?argc?-?i;
for?(;?i? {
if?(j>=?2)?printf(“%s:\n“argv[i]);
myls(argv[i]?flag);
}
}
}
return?0;
}
int?para2num(int?flag[]?char?str[])
{
int?i;
for?(i?=?1;?i? {
switch?(str[i])
{
case?‘a(chǎn)‘:flag[0]?=?1;?break;
case?‘l‘:flag[1]?=?1;?break;
case?‘i‘:?flag[2]?=?1;?break;
case?‘R‘:flag[3]?=?1;?break;
case?‘t‘:flag[4]?=?1;?break;
}

}
}
void?myls(char?dir[]?int?flag[])
{
DIR?*mydir;
struct?stat?info;
lstat(dir?&info);
struct?dirent*?direntp;
if?(S_ISDIR(info.st_mode))
{
if?((mydir?=?opendir(dir))?==?NULL)
{
fprintf(stderr?“myls:?cannot?open?%s?\n“?dir);
}
char?dirs[20][100];
int?dir_count?=?0;
char?files[100][100];
int?file_count?=?0;
struct?stat?infos[100];
while?((direntp?=?readdir(mydir))?!=?NULL)
{
char?filename[100];
strcpy(filename?dir);
if(strcmp(dir“/“))??strcat(filename?“/“);
strcat(filename?direntp->d_name);
lstat(filename?&info);
if?(flag[0]?==?0?&&?direntp->d_name[0]?==?‘.‘)?continue;//-a
if?(flag[3]?==?1)//-r
{
if?(S_ISDIR(info.st_mode))
{
strcpy(dirs[dir_count]?filename);
dir_count++;
}
}
if?(flag[4]?==?1)
{
strcpy(files[file_count]?direntp->d_name);
infos[file_count]?=?info;
file_count++;
}
else
{
if?(flag[2]?==?1)?printf(“%-10ld\t“?direntp->d_ino);//-i
if?(flag[1]?==?1)
{
stat(filename?&info);
display(filename?&info);
}//-l

printf(“%-8s“?direntp->d_name);
if?(flag[1])?printf(“\n“);
else?printf(“\t“);
}
}
closedir(mydir);
if?(flag[4]?==?1)
{
int?i?=?0;
quicksort(infos?files?0?file_count?-?1);
for?(;?i? {
if?(flag[2]?==?1)?printf(“%-10ld\t“infos[i].st_ino);//-i
if?(flag[1]?==?1)
{
stat(files[i]?&infos[i]);
display(files[i]?&infos[i]);
}//-l
printf(“%-8s“?files[i]);
if?(flag[1])?printf(“\n“);
else?printf(“\t“);
}

}
printf(“\n“);
if?(flag[3])//-r
{
int?i?=?0;
for?(;?i? {

評論

共有 條評論