I am making a input stream from file to a vector of wstrings. There might be russian charcters. If they were there, than after outputting the wstring to the console I am getting the empty line. If the charcters are from English alphabet or from punctuation marks, than every thing is alright. How to fix that?(I use linux)
#include <iostream>
#include <fstream>
#include <vector>
#include <string>
void read_text(std::vector<std::wstring> &words)
{
    std::wifstream input("input.txt");
    if( !(input.is_open()) )
    {
        std::cout << "File was not open!" << std::endl;
        throw -1;
    }
    std::wstring input_string;
    input >> input_string;
    while(input)
    {
        words.push_back(input_string);
        input >> input_string;
    }
    input.close();
}
int main()
{
    setlocale(LC_ALL, "ru_RU.UTF-8");
    std::vector<std::wstring> words;
    try             {   read_text(words);   }
    catch(int i)    {   return i;   }
    for (auto i : words)
    {
        std::wcout << i << std::endl;
    }
    return 0;
}