Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Программирование и базы данных (http://forum.oszone.net/forumdisplay.php?f=21)
-   -   Программа вывода файлов с сортировкой по расширению (http://forum.oszone.net/showthread.php?t=262084)

x_velvet@vk 08-06-2013 12:24 2164317

Программа вывода файлов с сортировкой по расширению
 
Итак, в чем собственно проблема:
Помогите доработать программу эмуляции DIR (командной строки) с ключем /o:e , ну или хотяб алгоритм сортировки(язык Си)
//================================================
Код:

#include<stdlib.h>
#include<dir.h>
#include<stdio.h>
#include<string.h>
#include<dos.h>
#include<io.h>
#include<conio.h>

  int main(int argc, char *argv[])
  {int done;//перемен. в каторой найден файл или не найден
  int sdisk;//текущее имя диска до запуска программы
  char sdir[MAXPATH];//текущий путь до запуска программы
  int k=0,n;
  int curdisk;char buf[MAXPATH];//путь который мы задаем
  struct ffblk fb;//структура которая описывает файл
  clrscr();
  if(argc!=2) {printf("Неверное количество параметров\n");getch();exit(1);}
  sdisk=getdisk();//получить текущий диск
  getcurdir(0,sdir);//получить текущий путь
  curdisk=strlwr(argv[1])[0]-'a';//strlwr из больших букв делает маенькие
  setdisk(curdisk);chdir(argv[1]);//setdisk кстановка диска, в argv[1] хронится параметр первый
  done=findfirst("*.*",&fb,-1);// найти файл с именем...
  while(!done)
    {
        printf("%02d.%02d.%04d    %02d:%02d:%02d",
                //*******************************
                                fb.ff_fdate      &0x1f,  //15
                (fb.ff_fdate>>5)  &0x0f,  //15
                (fb.ff_fdate>>9) + 1980,  //1980

                fb.ff_ftime>>11,
                (fb.ff_ftime>>5)  &0x3f,  //63
                (fb.ff_ftime<<1)  &0x3f);  //63
        {
 if(fb.ff_attrib&FA_DIREC)
  printf("    <DIR>                ");
 else
        printf("        %12ld bytes", fb.ff_fsize);
                printf("    %s \n",fb.ff_name);
} k++;
    done=findnext(&fb);
    }
  setdisk(sdisk);chdir(sdir);
  getch();
  return 0;
  }
//=======================================================

на текущий момент программа выводит все файлы и папки, с сортировкой запара....

pva 10-06-2013 10:19 2165231

я не увидел сортировки имён файлов (хотя бы qsort). Хотя без преформатированного оформления кода вообще ничего не видно (советую отформатировать в читабельный вид)


Время: 14:17.

Время: 14:17.
© OSzone.net 2001-2025