Visual C++调试输出显示????用于非拉丁(西里尔文)字符



有一些Windows/VS设置可以让VS中的调试输出正确输出非拉丁字符。我们对西里尔字母感兴趣。那是什么背景?

问题过于简短。然而,基于这个答案的解决方案可能会有所帮助:

#include "stdafx.h"
#include <iostream>
#include <io.h>
#include <fcntl.h>
int wmain(int argc, wchar_t* argv[])
{
    _setmode(_fileno(stdout), _O_U16TEXT);
    std::wcout 
        << L"Unicode test -- Ελληνικά -- čeština -- русский язык -- Türkçesi" 
        << std::endl;
    for (int i = 1; i < argc; ++i)
    {
        std::wcout << L"param " << i << L": " << argv[i] << std::endl;
    }
}

使用Visual Studio 2013:进行验证

==> ".so36212399Debugso36212399.exe" qwertz ςερτυθ ěščřžý йцукен ğüşıöç
Unicode test -- Ελληνικά -- čeština -- русский язык -- Türkçesi
param 1: qwertz
param 2: ςερτυθ
param 3: ěščřžý
param 4: йцукен
param 5: ğüşıöç
==>

最新更新