簡體   English   中英

僅當我在c ++(Thread)中按Enter鍵時,代碼如何進入下一步

[英]How the code gets to the next step only when i press the enter key in c++ (Thread)

我在互聯網上看到以下代碼

DWORD qThreadID;
HANDLE hThread = CreateThread(0, 0, ThreadFn, &uiCounter, 0, &qThreadID);

// Loop until the user enters 'q'
char cChar = ' ';
while (cChar != 'q') {
    cout << uiCounter << endl;
    cChar = (char)getchar();
}

按鍵事件“ Enter”如何工作? (當我調試它時,除了按下“ Enter”鍵外,其他按鍵功能均無效)

getchar()從庫和操作系統中的標准緩沖中讀取。 在輸入enter之前,通常不會從控制台設備上的讀取返回操作系統。 它們支持命令行編輯,並且需要Enter鍵來完成輸入。

getchar()讀取輸入的單個字符。

但是,您的終端可能會在輸入上進行行緩沖,直到您按下Enter鍵,才將輸入發送到程序。

因為enter輸入一個\\n ,它將被解釋為EOF因為命令行會認為這是用戶輸入的結尾,並且getChar()試圖從該流中讀取單個字符緩沖區,因此如果您只是按enter而不返回任何內容,在其前面輸入字符,請參閱msdn: http : //msdn.microsoft.com/zh-cn/library/5231d02a%28v=vs.71%29.aspx

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM