在Windows编程中,Console的含义是什么?

时间:2011-10-16 09:25:42

标签: c windows console systems-programming

我遇到了Windows控制台的问题...在windows api中,控制台总是必须是屏幕或键盘,还是可以是任何字符缓冲区或类似文本的东西文件?

thanx

如果我更具体一点,windows api中的 SetConsoleMode 功能有一个名为 hConsoleHandle 的参数,它有一个名为 ENABLE_ECHO_INPUT 的标志,可以使用回应我们读到屏幕上的每一个角色..所以我认为在Windows系统编程中,控制台意味着更多的东西而不是它的正常意义......我是在写,如果是的话,真正意义是什么......?

再次

再次

3 个答案:

答案 0 :(得分:1)

在Windows下,控制台始终是一个类似于命令提示符窗口的窗口。您可以在Windows程序中打开,读取和写入该内容。它不是缓冲区或文本文件,但您可以编写缓冲区或文本文件,然后将该实体传输到控制台。

windows console

以下是解决控制台窗口时可以使用的C语言函数:

_cgets, _cgetws, _cgets_s, _cgetws_s
 Read string from console

_cprintf, _cwprintf, _cprintf_s, _cprintf_s_l, _cwprintf_s, _cwprintf_s_l
 Write formatted data to console

_cputs
 Write string to console

_cscanf, _cwscanf, _cscanf_s, _cscanf_s_l, _cwscanf_s, _cwscanf_s_l
 Read formatted data from console

_getch, _getwch
 Read character from console

_getche, _getwche
 Read character from console and echo it

_inp
 Read one byte from specified I/O port

_inpd
 Read double word from specified I/O port

_inpw
 Read 2-byte word from specified I/O port

_kbhit
 Check for keystroke at console; use before attempting to read from console

_outp
 Write one byte to specified I/O port

_outpd
 Write double word to specified I/O port

_outpw
 Write word to specified I/O port

_putch, _putwch
 Write character to console

_ungetch, _ungetwch
 "Unget" last character read from console so it becomes next character read

答案 1 :(得分:1)

不,“控制台”意味着具有基于文本的界面的应用程序。

维基百科上的

Win32 Console表示该标签指定了在Windows API下运行的文本模式程序,并且将使用例如WriteConsole而不是printf或{的函数。 {1}}。

所以,控制台是一样的,但底层库是不同的。

答案 2 :(得分:1)

正如我所描述的那样here

Consoles manage input and output (I/O) for character-mode applications 
(applications that do not provide their own graphical user interface).

所以你在那里得到答案。如前所述,尝试更好地解释您的背景,目标以及您的想法,也许我们可以帮助您更多。