標準輸入數據的大小。如果我從一個控制檯應用程序得到一個處理stdin
像這樣:如何獲得可通使用C++
HANDLE hStdIn = ::GetStdHandle(STD_INPUT_HANDLE);
然後我就可以從中讀取數據:
BYTE buff[32];
DWORD dwcbRead = 0;
BOOL bReadRes = ::ReadFile(hStdIn, buff, SIZEOF(buff), &dwcbRead, NULL);
我的問題是,在閱讀它們之前,我怎麼知道有多少字節可用?
PS。如果沒有可讀取的數據,ReadFile
似乎會被阻止。
不完全重複的問題。被引用的鏈接(另一個問題)只能解決部分問題,當stdin被重定向時。 Anton Kovalenko的回答告訴我們'PeekConsoleInput'可以用於控制檯標準輸入。我們應該結合這些答案。 – 2016-01-05 03:15:40