Programming 版 (精华区)

发信人: JJason (总统~~), 信区: Programming
标  题: [合集]请教c语言问题?
发信站: 哈工大紫丁香 (2003年03月20日17:07:58 星期四), 站内信件


────────────────────────────────────────
 wdxtn (鸵鸟)                         于 Wed Feb 26 18:00:54 2003) 说道:

请问tc中怎么得到当前的系统时间,是不是有一个什么函数?这个函数怎么用?谢谢


────────────────────────────────────────
 xceman (辉->伪狼*谎称羔羊)           于 2003年02月26日20:35:30 星期三 说道:

打开msdn,
查time()以及相关函数。
或者找一本c函数库书,谈豪强那本就行,查
【 在 wdxtn (鸵鸟) 的大作中提到: 】
: 请问tc中怎么得到当前的系统时间,是不是有一个什么函数?这个函数怎么用?谢谢


────────────────────────────────────────
 PowerStation (人若无名便可专心发电)  于 2003年02月26日20:41:38 星期三 说道:

press "F1" in TC IDE, choose dos.h or bios.h help index.
【 在 wdxtn (鸵鸟) 的大作中提到: 】
: 请问tc中怎么得到当前的系统时间,是不是有一个什么函数?这个函数怎么用?谢谢


────────────────────────────────────────
 valley (天音)                        于 2003年02月27日19:37:23 星期四 说道:

#include <stdio.h>
#include <dos.h>
int main(void)
{ union REGS in,out;
 in.h.ah=0x2a;
 int86(0x21,&in,&out);
 printf("years: %d\nmonths:%d\ndays: %d\n",out.x.cx,out.h.dh,out.h.dl);
 in.h.ah=0x2c;
 int86(0x21,&in,&out);
 printf("hours: %d\nminutes: %d\nseconds: %d\nhundreth seconds: %d\n",out.h.
ch,out.h.cl,out.h.dh,out.h.dl);
 return 0;
}
【 在 wdxtn (鸵鸟) 的大作中提到: 】
: 请问tc中怎么得到当前的系统时间,是不是有一个什么函数?这个函数怎么用?谢谢


────────────────────────────────────────
 xceman (辉->伪狼*谎称羔羊)           于 2003年02月27日19:50:44 星期四 说道:

好像不用这么麻烦把,写得什么咚咚?
【 在 valley (天音) 的大作中提到: 】
: #include <stdio.h>
: #include <dos.h>
: int main(void)
: { union REGS in,out;
:  in.h.ah=0x2a;
:  int86(0x21,&in,&out);
:  printf("years: %d\nmonths:%d\ndays: %d\n",out.x.cx,out.h.dh,out.h.dl);
:  in.h.ah=0x2c;
:  int86(0x21,&in,&out);
:  printf("hours: %d\nminutes: %d\nseconds: %d\nhundreth seconds: %d\n",out.h.
: ch,out.h.cl,out.h.dh,out.h.dl);

────────────────────────────────────────
 valley (天音)                        于 2003年02月27日20:15:47 星期四 说道:

说麻烦其实是有一点冤枉,通常情况下,只比C提供的方法多一两行代码.
本例用 dos 中断获取系统日期in.h.ah=0x2a, 和系统时间 in.h.ah=0x2c,
时间可以精确到百分秒.
union REGS in; 定义了一组寄存器,可以只定义一个,输入输出都用它.
设定 in.h.ah=0x2c 表示取系统时间功能,
int86(0x21,&in,&in) 向操作系统伸请中断,dos 把系统时间放到dh,dl,ch,cl中
ch为hour,cl为min, dh为second, dl为hundreth second
【 在 xceman (辉->伪狼*谎称羔羊) 的大作中提到: 】
: 好像不用这么麻烦把,写得什么咚咚?
: 【 在 valley (天音) 的大作中提到: 】
: : #include <stdio.h>
: : #include <dos.h>
: : int main(void)
: : { union REGS in,out;
: :  in.h.ah=0x2a;
: :  int86(0x21,&in,&out);
: :  printf("years: %d\nmonths:%d\ndays: %d\n",out.x.cx,out.h.dh,out.h.dl);
: :  in.h.ah=0x2c;
: :  int86(0x21,&in,&out);

────────────────────────────────────────
 skysoul (我是中国人 )                于 2003年02月28日10:12:28 星期五 说道:

这和C中定义的取时间函数有什么区别吗?
【 在 valley (天音) 的大作中提到: 】
: 说麻烦其实是有一点冤枉,通常情况下,只比C提供的方法多一两行代码.
: 本例用 dos 中断获取系统日期in.h.ah=0x2a, 和系统时间 in.h.ah=0x2c,
: 时间可以精确到百分秒.
: union REGS in; 定义了一组寄存器,可以只定义一个,输入输出都用它.
: 设定 in.h.ah=0x2c 表示取系统时间功能,
: int86(0x21,&in,&in) 向操作系统伸请中断,dos 把系统时间放到dh,dl,ch,cl中
: ch为hour,cl为min, dh为second, dl为hundreth second
: 【 在 xceman (辉->伪狼*谎称羔羊) 的大作中提到: 】
: : 好像不用这么麻烦把,写得什么咚咚?

────────────────────────────────────────
 valley (天音)                        于 2003年02月28日13:27:56 星期五 说道:

应该没什么太大的不同。只是试过几次标准的方法,不知什么原因都
不对头,现在只会这种方法了。顺便练习一下调用操作系统中断的技
术,有的时候挺有用的。
【 在 skysoul (我是中国人 ) 的大作中提到: 】
: 这和C中定义的取时间函数有什么区别吗?
: 【 在 valley (天音) 的大作中提到: 】
: : 说麻烦其实是有一点冤枉,通常情况下,只比C提供的方法多一两行代码.
: : 本例用 dos 中断获取系统日期in.h.ah=0x2a, 和系统时间 in.h.ah=0x2c,
: : 时间可以精确到百分秒.
: : union REGS in; 定义了一组寄存器,可以只定义一个,输入输出都用它.
: : 设定 in.h.ah=0x2c 表示取系统时间功能,
: : int86(0x21,&in,&in) 向操作系统伸请中断,dos 把系统时间放到dh,dl,ch,cl中
: : ch为hour,cl为min, dh为second, dl为hundreth second

────────────────────────────────────────
[百宝箱] [返回首页] [上级目录] [根目录] [返回顶部] [刷新] [返回]
Powered by KBS BBS 2.0 (http://dev.kcn.cn)
页面执行时间:3.283毫秒