getftime.c

来自「开放源码的编译器open watcom 1.6.0版的源代码」· C语言 代码 · 共 29 行

C
29
字号
#include <stdio.h>
#include <dos.h>
#include <fcntl.h>

#define YEAR(t)   (((t & 0xFE00) >> 9) + 1980)
#define MONTH(t)  ((t & 0x01E0) >> 5)
#define DAY(t)    (t & 0x001F)
#define HOUR(t)   ((t & 0xF800) >> 11)
#define MINUTE(t) ((t & 0x07E0) >> 5)
#define SECOND(t) ((t & 0x001F) << 1)

void main()
  {
    int      handle;
    unsigned short date, time;

    if( _dos_open( "file", O_RDONLY, &handle ) != 0 ) {
      printf( "Unable to open file\n" );
    } else {
      printf( "Open succeeded\n" );
      _dos_getftime( handle, &date, &time );
      printf( "The file was last modified on %d/%d/%d",
              MONTH(date), DAY(date), YEAR(date) );
      printf( " at %.2d:%.2d:%.2d\n",
              HOUR(time), MINUTE(time), SECOND(time) );
      _dos_close( handle );
    }
  }

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?