Помогите разобраться. Питон3 полностью перешел на юникод и ему теперь аргументы запуска подавай в wchar_t*
А си-приложение, которое подключает шаред-либ libpython.so получает эти самые аргументы как char*
Суть вопроса. Как сделать из второго первое? Покурил "man 3 mbstowcs", но строки, которые делает эта функция даже не печатает printf(), а если их передать питону, то там кракозябли вместо символов.Как ей вообще пользоваться? Или мож я не в правильном напрвлении мыслю? Мож надо gcc как-то по особенному пересобрать. Локаль я использую Utf-8.
Хоть куда копать подскажите.
Python. Аргументы запуска (Или даже так: С. mbstowcs())
Модератор: Модераторы разделов
-
d_n_k
- Сообщения: 636
- ОС: Gentoo GNU/Linux
Re: Python. Аргументы запуска
в unicodeobject.h перечислено много функций для работы с unicode-object'ами
все сказанное есть имхо...
-
vonabarak
- Сообщения: 146
Re: Python. Аргументы запуска
Вообще, мне не с unicode object надо. Мне просто надо было перегнать char в wchar_t. Но я уже нашел решение. Просто
oldlocale = setlocale(LC_ALL, NULL);
setlocale(LC_ALL, "");
/* тут цикл for(;;) со всеми вытекающими
из него последствиями и mbstowcs()
*/
setlocale(LC_ALL, oldlocale);
Нашел в исходниках Питона.
oldlocale = setlocale(LC_ALL, NULL);
setlocale(LC_ALL, "");
/* тут цикл for(;;) со всеми вытекающими
из него последствиями и mbstowcs()
*/
setlocale(LC_ALL, oldlocale);
Нашел в исходниках Питона.
Йа тьомный эльф