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

时间:2016-03-25 00:46:24

标签: visual-studio-2012 codepages

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

1 个答案:

答案 0 :(得分:0)

太简短的问题。但是,基于this answer的解决方案可能有所帮助:

#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验证:

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

==>