这段windows控制台的代码是做什么

betty_betty2008 2012-06-04

NG上的一个贴子,没明白是做什么,原贴:
http://forum.dlang.org/thread/ihkidxdzntvgupxufndv@forum.dlang.org

import std.c.stdio;  // I'm just using this for the printf
extern (C) void _STI_conio(); // initializes DM access ton conin, 
conout
extern (C) void _STD_conio(); // properly closes handles
extern (C) int kbhit();       // the conio function is in the DMD 
library
extern (C) int getch();       // as is his friend getch
void main() {
  int mychar;
   _STI_conio();
   while(!kbhit())
   {}
   mychar = getch();
   printf("%c\n",mychar);
   _STD_conio();
}

老Colorful 2012-06-04
这段代码在我的 Mac 机器上不能通过编译。

extern(C) 的函数没有正确导入。

不过看这段代码的注释,应该是获得控制台句柄,然后获得键盘输入,并打印出来,最后释放控制台句柄。
betty_betty2008 2012-06-04
老Colorful 写道
这段代码在我的 Mac 机器上不能通过编译。

extern(C) 的函数没有正确导入。

不过看这段代码的注释,应该是获得控制台句柄,然后不断获得键盘输入,并打印出来,最后释放控制台句柄。

Win 7 32 bits编译并运行没问题。输入this is a string 回车得到t,句号。
不明白的是他好象解决了一个大家都在问但未能完美解决的问题。


PS: 鸟枪换炮了啊?GONG XI GONG XI
老Colorful 2012-06-04
没看出解决什么问题来。

MAC 机是公司的。呵呵。
非仙 2012-06-05
他的意思是 解决控制台自己处理键盘输入的问题....
Global site tag (gtag.js) - Google Analytics