码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • _kbhit() and getch() 在win11控制台程序中不好用了


    太长不看版:

    _kbhit() and getch() 包含在conio.h中。

    conio是Console Input/Output(控制台输入输出)的简写,其中定义了通过控制台进行数据输入和数据输出的函数,主要是一些用户通过按键盘产生的对应操作,比如getch()函数等等。

    _kbhit() and getch() 为控制台函数,仅在控制台程序中可用,在窗口程序中不能用。

    前因后果:

    参考b站视频,练习用C++ EasyX 写小游戏时,发现:

    控制台程序无法获取键盘消息。因为很多视频都是早几年做的,从 Windows 诞生之日起,其默认终端一直是 Windows 控制台主机 conhost.exe。但是目前Windows 11 的所有命令行应用程序都将在 Windows Terminal 中自动打开。

    这就使得编写控制台程序时,会出现两个窗口,一个是控制台,一个是EasyX绘制的窗口。当使用_kbhit()和getch()获取键盘消息的时候,必须是控制台获得焦点的时候,才能获得键盘消息,在EasyX绘制的窗口中无法直接获得消息。

    参考了Introduction to C++ Game Development | TONY'S STUDIO(EasyX新手宝藏)

    把程序改为窗口程序,也因此所有控制台函数不再有效。

  • 相关阅读:
    2022,开发转测试,会不会后悔?
    前端代码规范化的解决方案
    AGI热门方向:国内前五!AI智能体TARS-RPA-Agent落地,实在智能打造人手一个智能助理
    逆变器是什么?超全详解智能光伏逆变器的原理及市场前景
    【计算机网络(1)】计算机网络体系结构1:计算机网络概述
    Nomad 系列-安装
    vue2中的列表渲染v-for
    nginx热更新详解及实战操作
    jmeter发送请求参数如何使用变量
    如何给国产32位单片机添加SEGGER RTT 日志打印
  • 原文地址:https://blog.csdn.net/jerry_of/article/details/132614480
  • 最新文章
  • 沪漂五周年了:我越来越迷茫了
    Agentic Skill Routing 实战:别再把所有 Skill 塞进 AI Agent 上下文
    MySQL-Seconds_behind_master的精度误差
    [MAF预定义ChatClient中间件-03]CachingChatClient——利用缓存省钱省时间
    AI的至暗历史:从万众期待到被政府撤资,AI的两次死亡徘徊
    Agent OS :五种驯服不确定性的范式
    PortSwigger SQL注入LAB11
    数据库即时编译JIT
    [Begin]AI Learn Data Day 0
    深度学习进阶(二十七)现代 LLM 的核心架构设计其二:SwiGLU
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
小工具 小游戏
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1

京公网安备 11010502049817号