C++ 콘솔에 버퍼를 넣는데 무한루프가 발생합니다

haoun1의 이미지

void CreateBuffer()
{
	CONSOLE_CURSOR_INFO cci;
	COORD size = { 80, 25 };
	SMALL_RECT rect;
 
	rect.Left = 0;
	rect.Right = 80 - 1;
	rect.Top = 0;
	rect.Bottom = 25 - 1;
 
	hBuffer[0] = CreateConsoleScreenBuffer(GENERIC_READ | GENERIC_WRITE, 0, NULL, CONSOLE_TEXTMODE_BUFFER, NULL);
	SetConsoleScreenBufferSize(hBuffer[0], size);
	SetConsoleWindowInfo(hBuffer[0], TRUE, &rect);
	hBuffer[1] = CreateConsoleScreenBuffer(GENERIC_READ | GENERIC_WRITE, 0, NULL, CONSOLE_TEXTMODE_BUFFER, NULL);
	SetConsoleScreenBufferSize(hBuffer[1], size);
	SetConsoleWindowInfo(hBuffer[1], TRUE, &rect);
 
	cci.dwSize = 1;
	cci.bVisible = FALSE;
	SetConsoleCursorInfo(hBuffer[0], &cci);
	SetConsoleCursorInfo(hBuffer[1], &cci);
 
	SetConsoleActiveScreenBuffer(hBuffer[0]);
	fflush(stdin);
}

hBuufer[0]를 콘솔창에 연결했는데, 콘솔창 크기랑 버퍼비우는함수,바꾸는함수 이런건 다 됩니다.

그런데,

scanf나 fgets같은 입력 함수에서 계속 무한으로 입력을 합니다.

fflush나 rewind같은거 써도 해결이 안되구요.

왜 이런거죠??

File attachments: 
첨부파일 크기
Image icon 캡처2.PNG40.79 KB