Что это означает консоль в программировании Windows? - PullRequest
0 голосов
/ 16 октября 2011

У меня проблема с консолями Windows ... В Windows API консоль всегда должна быть экраном или клавиатурой, или это может быть любой символьный буфер или что-то вроде текстового файла

спасибо

Если быть более точным, SetConsoleMode Функция в Windows API имеет параметр с именем hConsoleHandle , который имеет флаг с именем ENABLE_ECHO_INPUT , который можно использовать для отображения каждого символ, который мы читаем на экран .. Итак, я подумал, что в системном программировании Windows консоль означает нечто большее, чем обычное значение ... Так я пишу, и если да, то в чем истинный смысл ..?

Спасибо еще раз

Ответы [ 3 ]

1 голос
/ 16 октября 2011

Нет, «консоль» подразумевает приложение с текстовым интерфейсом.

Консоль Win32 в Википедии говорит, что эта метка указывает программу текстового режима, которая работает под WindowsAPI, и будет использовать, например, функцию типа WriteConsole вместо printf или cout.

Итак, консоль такая же, но базовая библиотека другая.

1 голос
/ 16 октября 2011

Как это хорошо описано здесь

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

, поэтому у вас есть ответ прямо здесь.Как уже было сказано, попытайтесь лучше объяснить ваш контекст, вашу цель и вашу идею, так что, возможно, мы сможем помочь вам больше.

1 голос
/ 16 октября 2011

В 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
...