【问题标题】:What is it meant by Console in windows programming?Windows编程中的Console是什么意思?
【发布时间】:2011-10-16 09:25:42
【问题描述】:

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

感谢

如果我更具体一点,windows api 中的 SetConsoleMode 函数有一个名为 hConsoleHandle 的参数,它有一个名为 ENABLE_ECHO_INPUT 的标志,可以使用将我们读到的每一个字符都回显到屏幕上。所以我认为在 Windows 系统编程中,控制台的意义超出了它的正常含义……我是这样写的吗?如果是这样,真正的含义是什么……?

再次感谢

【问题讨论】:

  • 你能澄清你的问题的背景吗?了解您要完成的工作将有助于有人提供更好的答案。

标签: c windows console systems-programming


【解决方案1】:

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

Wikipedia 上的Win32 Console 表示,该标签指定了在 Windows API 下运行的文本模式程序,并且将使用诸如 WriteConsole 之类的函数,而不是 printfcout

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

【讨论】:

    【解决方案2】:

    正如它所描述的那样here

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

    所以你的答案就在那里。如前所述,试着更好地解释你的背景、你的目标和你的想法,这样也许我们可以为你提供更多帮助。

    【讨论】:

      【解决方案3】:

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

      以下是您在处理控制台窗口时可以使用的 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
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2010-12-19
        • 2012-04-04
        • 2013-02-09
        • 2015-10-18
        • 2012-04-02
        • 2022-11-15
        • 1970-01-01
        相关资源
        最近更新 更多