3

ReadConsoleW()特定のバイト数を読み取った後に戻ることを期待しています。でも返ってこない。

ReadConsoleW()指定されたバイト数の読み取りが終了したらすぐに戻るにはどうすればよいですか?

私が試したコードは次のとおりです。

#include <stdio.h>
#include <Windows.h>


int main()
{
    //something is being written to stdin.
    Sleep(2000);
    int b;
    int r;
    //read 3 wide character
    ReadConsoleW(GetStdHandle(STD_INPUT_HANDLE), &b, 3*sizeof(TCHAR), (LPDWORD)&r, NULL);
    //problem: no returns until enter pressed
    putc(b,stdout);
    while(1)
    {};
}
4

2 に答える 2

2

フラグSetConsoleModeをオフにするために使用します。ENABLE_LINE_INPUT行編集は利用できませんが、Enter が押されるまで待機しません。

WCHAR3 つの を に読み込むことはできないことに注意してくださいint

于 2013-02-04T05:05:13.333 に答える
-1

ReadFile/WriteFile を使用した Windows での非同期 I/O も検討してください。非同期 I/O については MSDN を参照してください

もう少し複雑ですが、必要なものはあります。

于 2013-02-04T12:10:37.990 に答える