Python 3.2: PyInitialize () сбрасывает ширину wchar_t - PullRequest
1 голос
/ 23 февраля 2012

Я новичок в Python, у которого проблемы с встраиванием Python 3.2 в кусок кода C ++.

Вот пример.Код выглядит следующим образом:

std::cout << "Hello world" << std::endl;
std::wcout << "Hello world" << std::endl;

PyIntitialize();

std::cout << "Hello world" << std::endl;
std::wcout << "Hello world" << std::endl;

И вывод консоли выглядит следующим образом:

Hello World
Hello World
Hello World
H e l l o  W o r l d

Похоже, что ширина wchar_t была сброшена Python в два раза по сравнению с первоначальным размером,С другой стороны, ширина символа остается неизменной после инициализации.

Подробности: Win7 - 64 бит.Visual Studio 2008 для примера кода C ++ выше.Я также использую Visual Studio 2008 для сборки Python из исходного кода.

Почему Python изменяет поток stdoutput (если это действительно так, как кажется) и что я могу сделать, чтобы решить проблему?Мы используем wcout во всем коде, поэтому он должен работать (и действительно работал, когда мы использовали Python 2.6).

Большое спасибо.

...