Mam problem z wcin'em.. - nie działa tak jak powinien (a właściwie tak jakbym chciał, żeby działał). Kod:

#include <locale>
#include <iostream>
int main(void)
{
    std::ios_base::sync_with_stdio(false);
    std::locale::global(std::locale("pl_PL.UTF-8"));
    std::wcout.imbue(std::locale("pl_PL.UTF-8")); 
    std::wcin.imbue(std::locale("pl_PL.UTF-8")); 

    std::wcout << L"Polskie znaki ąćśŁĘŹ" << std::endl;

    std::wstring text;
    std::wcin >> text;
    std::wcout << text;
	
	return 0;
}

I przykładowy przebieg:

Polskie znaki ąćśŁĘŹ
ą
ć
ę
ł
ń
ó

Tutaj co znak wciskam enter i dopiero po takich 6 znakach kończy się wczytywanie.
Jak to naprawić?