#99 Article 2 Posted at 1991/04/27 23:45:16 by 偽御使安爺 (MAP386) [Q.LSIC]

Subject: おめでたついでの質問

いきなし質問で恐縮であります。

  書き込んだファイルのタイムスタンプを変えるのにLSICで次の
ように作ったのですが、なぜか書き込んだ時間のままになってしまい
ました。TCとPCの場合(関数名は違うけど)これで大丈夫だった
のに・・・。MSーCと同じだったのかな。

  ちなみにMX1の開発を止めている原因。

						偽アンジーちゃん

#include <stdio.h>
#include <dos.h>

union ftime{
    struct{
        unsigned ft_tsec:5;
        unsigned ft_min:6;
        unsigned ft_hour:5;
        unsigned ft_day:5;
        unsigned ft_month:4;
        unsigned ft_year:7;
    }t;
    struct{
        unsigned ft_t;
        unsigned ft_d;
    }u;
};

void main(void){
    FILE *fp;
    union ftime ft;

    fp = fopen("somefile", "wt");
    fputs("test", fp);
    ft.t.ft_tsec = 9 * 2;
    ft.t.ft_min = 9;
    ft.t.ft_hour = 9;
    ft.t.ft_day = 1;
    ft.t.ft_month = 1;
    ft.t.ft_year = 1;
    _dos_setftime(fileno(fp) , ft.u.ft_d, ft.u.ft_t);
    fclose(fp);
}