强制接受输入,或者在有限的时间内更简单的方式等待用户输入?

时间:2015-09-28 18:27:21

标签: c++ windows

这是我的第一个问题,所以请随时提出有关我的风格的建议。

我是C ++编程的新手。我正在使用Windows。我的问题如下:我需要一种等待输入有限时间的方法,因此我无法使用SELECT PRACTITIONER_FACILITIES.PRACT_ID, PRACTITIONER.LAST_NAME, PRACTITIONER.FIRST_NAME, PRACTITIONER.MIDDLE_INITIAL, PRACTITIONER.DEGREE, PRACTITIONER_FACILITIES.FACCODE, PRACTITIONER_FACILITIES.PRIMARY_FACILITY, PRACTITIONER_FACILITIES.STATUS_CATEGORY, PRACTITIONER_FACILITIES.DEPARTMENT_NAME, PRACTITIONER_FACILITIES.SECTION_NAME, PRACTITIONER_ID_NUMBERS.DOCUMENTNAME, PRACTITIONER_ID_NUMBERS.ID_NUMBER, PRACTITIONER_ID_NUMBERS.EXPIRATION_DATE FROM PRACTITIONER INNER JOIN PRACTITIONER_ID_NUMBERS ON (practitioner_id_numbers.pract_id = practitioner.pract_id) INNER JOIN PRACTITIONER_FACILITIES ON (PRACTITIONER.PRACT_ID = PRACTITIONER_FACILITIES.PRACT_ID) WHERE practitioner_id_numbers.documentname like 'radio*' or practitioner_id_numbers.documentname like 'flouro*' AND PRACTITIONER_ID_NUMBERS.HISTORICAL = 0 AND PRACTITIONER_FACILITIES.CURRENT_STATUS= 'Current' ORDER BY PRACTITIONER_FACILITIES.SECTION_NAME; cin或类似的功能。

所以我的问题是:是否有可能强制采取行动?我的意思是,即使用户输入的不是单个字符,也要检索任何类型的空输入(我猜一个空的char数组)。这样我可以做这样的事情:

_getch()

顺便说一句,我读到的与本主题相关的问题有点陈旧。如果有一种更简单的方法可以等待一段时间进行用户输入,请忘记该代码并强制输入数据。非常感谢您的时间,并原谅我的经验不足。

1 个答案:

答案 0 :(得分:0)

在许多系统上,您可以使用base.OnInitialize查看输入缓冲区中是否有字符,如果有,则使用kbhit()进行读取。 fetch()不是所有C ++实现的标准,因此请查看系统的文档。还有一些信息here