Polskie znaki przy fstream.open()

0

Witam, piszę mały programik na szybko i napotkałem problem przy próbie otwarcia pliku txt.
Otóż jeśli wcześniej zadeklaruję

string text = "ąęćłń󟿥ĘĆŁŃÓŹŻ.txt";

to funkcja

plik.open(text);

nie ma problemu z działaniem.

Ale jeśli robię w ten sposób:

 string text;
getline(cin, text);

i podaję

 ąęćłń󟿥ĘĆŁŃÓŹŻ.txt

to

plik.open(text);

nie działa. Problem jest w różnicy pomiędzy zapisem ASCII znaków. W obu przypadkach polskie znaki są kodowane inaczej.
Wie ktoś może jak to sprowadzić do działania? Oczywiście nie mam na myśli funkcji "na pałę" przepisującej kody ASCII.
Próbowałem z

 setlocale()

oraz

cin.imbue()

ale nie potrafię tego ogarnąć.

Z góry dzięki za pomoc.

0

Jaki system, jaki kompilator.

0

Win10 Visual15
W zasadzie to fajnie by było jakby to wszędzie działało :)

0

Do takich zabaw służą std::wstring, std::wifstream, std::wofstream, std::wcin oraz std::wcout

1 użytkowników online, w tym zalogowanych: 0, gości: 1