为什么opengl中从来不用cin和scanf

grdfssre 2016-12-29 10:48:45
标题是我很疑惑的问题,但是我要解决的问题在下面:
我在编写一个需要用键盘输入控制输出的opengl程序时,要求先画出一个直线,然后再通过键盘输入对直线做各种各样的操作。这个程序我写出来了,然后有第二个要求。要求画直线的时候要从键盘输入4个数,代表直线两点坐标,很简单对吧,加个iostream和cin就行了,然而……等我加完发现程序根本没法运行。然后我调试,发现最后是这个问题,只要在glutKeyboardFunc(keyboard)之前出现了cin或者scanf,就无法进入glutKeyboardFunc(keyboard)了,也就是键盘输入无效。我尝试着在glutKeyboardFunc(keyboard)之前加入fflush(stdin),但是没用
请问大神这到底是怎么回事?两个问题都回答一下吧,谢谢
...全文
150 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
Italink 2020-05-02
  • 打赏
  • 举报
回复
cin,scanf是阻塞函数,运行到那会等待输入,所以不能使用,可以使用_getch()
www_adintr_com 2016-12-29
  • 打赏
  • 举报
回复
cin 和 scanf 只能用于控制台程序

24,854

社区成员

发帖
与我相关
我的任务
社区描述
C/C++ 工具平台和程序库
社区管理员
  • 工具平台和程序库社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧