Перевод данных с использованием кириллицы из wstring в string

Всем добрый день, возникли проблемы с переводом наименований файлов с wstring в string, так как некоторые файлы имеют в названии кириллицу. Пробовал несколько способов перевода, ниже приведен тот который мне кажется более оптимальным. Но не получается довести до ума перевод кириллицы, уйти от разных типов данных нет возможности так как в основном проекте несколько разных функций использующих эти типы данных, и которым нет пока возможности сделать замену.

#include <iostream>
#include<string>
#include <codecvt>
#include <windows.h>

std::wstring_convert<std::codecvt_utf8_utf16<wchar_t>> converter;

int main()
{
    SetConsoleCP(1251);
    SetConsoleOutputCP(1251);
    setlocale(LC_ALL, "");
    std::wstring s = L"3-3 — копия.txt\n";
    std::wcout << s;
    std::string ws = converter.to_bytes(s);
    std::wstring std = converter.from_bytes(ws);
    std::cout << ws;
    std::wcout << std;
}

Ответы (0 шт):