Скачиваний:
37
Добавлен:
01.05.2014
Размер:
1.87 Кб
Скачать
#include <stdlib.h>
#include <stdio.h>
#include <dos.h>

void main(int argc, char *argv[]) ;
void print_info(struct find_t *find);
char *time_conv(unsigned time, char *char_buf);
char *date_conv(unsigned date, char *char_buf);

void main(int argc, char *argv[]) {

	 struct find_t find;

// Ќ е®¤Ё¬ ЇҐаўл© д ©«, 㤮ў«Ґвў®апойЁ© ЄаЁвҐаЁп¬ Ї®ЁбЄ .
// ‚ Є зҐб⢥ ЄаЁвҐаЁп ЁбЇ®«м§гҐ¬ ®Ўа §Ґж, Ї®«г祭­л©
// Ё§ Є®¬ ­¤­®© бва®ЄЁ. „«п Ї®ЁбЄ  ЁбЇ®«м§гҐ¬ д ©«л б «оЎл¬Ё
//  ваЁЎгв ¬Ё.

	 if(!_dos_findfirst(argv[1], 0xffff, &find)) {

		  printf("\n"
			 "\n€¬п д ©«     Ђвва. „ в         ‚аҐ¬п     ђ §¬Ґа"
			 "\n------------ ----- ----------  --------  ------");

// ‚лў®¤Ё¬ Ё­д®а¬ жЁо ® ЇҐаў®¬ ­ ©«Ґ­­®¬ д ©«Ґ ­  нЄа ­

		  print_info(&find);
	 }
	 else {
		  printf("‡ ¤ ©вҐ ®Ўа §Ґж ¤«п Ї®ЁбЄ  д ©«®ў !");
		  exit(-1);
	 }

// ‚лў®¤Ё¬ Ё­д®а¬ жЁо ®Ў ®бв «м­ле ­ ©¤Ґ­­ле д ©« е

	 while(!_dos_findnext(&find)) print_info( &find );

	 exit(0);
}

// ”г­ЄжЁп ¤«п ўлў®¤  Ё­д®а¬ жЁЁ ® ­ ©¤Ґ­­ле д ©« е

void print_info(struct find_t *pfind) {

	 char timebuf[10], datebuf[12];

// ЏаҐ®Ўа §гҐ¬ д®а¬ в ¤ вл Ё ўаҐ¬Ґ­Ё Ї®б«Ґ¤­ҐЈ® Ё§¬Ґ­Ґ­Ёп д ©« 

	 date_conv(pfind->wr_date, datebuf);
	 time_conv(pfind->wr_time, timebuf);

// ‚лў®¤Ё¬ ᮤҐа¦Ё¬®Ґ ¤ҐбЄаЁЇв®а  д ©« 

		printf("\n%-12s",pfind->name);
		printf(" %02X    %8s  %8s %8ld ",
			pfind->attrib,
			datebuf,
			timebuf,
			pfind->size);
}

// ”г­ЄжЁп ЇаҐ®Ўа §®ў ­Ёп д®а¬ в  ўаҐ¬Ґ­Ё

char *time_conv(unsigned t, char *buf) {

	 int h, m;

	 h = (t >> 11) & 0x1f, m = (t >> 5) & 0x3f;
	 sprintf(buf, "%2.2d:%02.2d:%02.2d", h % 12, m, (t & 0x1f) * 2);
	 return buf;
}

// ”г­ЄжЁп ЇаҐ®Ўа §®ў ­Ёп д®а¬ в  ¤ вл

char *date_conv(unsigned d, char *buf) {

	 sprintf(buf, "%2.2d.%02.2d.%04.2d",
				 d & 0x1f,(d >> 5) & 0x0f, (d >> 9) + 1980);
	 return buf;
}
Соседние файлы в папке DIRM