Size: a a a

2021 February 19

IZ

Ilia Zviagin in pro.cxx
Alex Sandrov
Не знаю, но боюсь после переопределения wchar_t на анроиде может что-то поломаться в других (компилируемых-прилинковываемых) местах, которые будут ожидать 4 байта
Это встроенный тип, его нельзя переделать
источник

IZ

Ilia Zviagin in pro.cxx
Respirant
Справедливо.

Тогда может быть есть другие варианты? Я могу использовать wchar_t и char, но программа должна поддерживать кириллицу, а char её не поддерживает, поэтому я выбрал wchar_t.
Это тоже не так...
источник

IZ

Ilia Zviagin in pro.cxx
Danya
А вы уверены, что проблема именно в широких символах, а не других проблемах с fopen на Андроид?
Я уверен, что проблема НЕ в них
источник

R

Respirant in pro.cxx
Ilia Zviagin
wchar_t  переделать нельзя.
Но есть хорошая новость:
Твоя проблема не в этом
Проблема была в портировании этого типа данных на Unix платформах, но уже решено, спасибо
источник

IZ

Ilia Zviagin in pro.cxx
Respirant
Не научился - у меня появляются китайские иероглифы вместо нормальных символов :)
Научился.
Это ты не научился
источник

R

Respirant in pro.cxx
Ilia Zviagin
Научился.
Это ты не научился
Чего научился?
источник

ПК

Побитый Кирпич... in pro.cxx
Danya
Насколько я знаю так обычно и делают
Возможно в последних версиях винды WinApi научился в utf8, но кто знает
Научился, но я так и не понял как это помогает, если тебе нужно не только последние версии Win10, а например Win7 ещё
источник

D

Danya in pro.cxx
Побитый Кирпич
Научился, но я так и не понял как это помогает, если тебе нужно не только последние версии Win10, а например Win7 ещё
Да, это понятно
источник

IZ

Ilia Zviagin in pro.cxx
Mikhail Kalugin
Нет, оно возник вместе с модернизацией Unicode (точнее, с вопросом: нафига тащить три нуля на каждую английскую букву)
Зато обработка быстрее...
источник

SE

Stanislav Ershov in pro.cxx
Побитый Кирпич
Научился, но я так и не понял как это помогает, если тебе нужно не только последние версии Win10, а например Win7 ещё
ну как он научился, он просто внутри принудительно везде CP_UTF8 выставляет для кодировок
источник

SE

Stanislav Ershov in pro.cxx
вот в примечании
источник

R

Respirant in pro.cxx
Побитый Кирпич
Научился, но я так и не понял как это помогает, если тебе нужно не только последние версии Win10, а например Win7 ещё
Откуда ты знаешь, что я понял, а что не понял?

Рассуждать об этом - неблагодарное дело, а если я что-то и не понял - какое это имеет к тебе отношение?
источник

S

Stepan in pro.cxx
Mikhail Kalugin
Вообще, да, UTF-8 оно знает, можно сделать например вот так: setlocale(LC_ALL, “ru_RU.utf8”); SetConsoleCP(CP_UTF8); SetConsoleOutputCP(CP_UTF8); (но при этом нужно позаботиться о восстановление кодовой страницы консоли при выходе. С cmd.exe десятки точно работает, с Windows Terminal не пробовал.
Менять строку окружения LC_ALL не является хорошим решением
источник

IZ

Ilia Zviagin in pro.cxx
Respirant
Откуда ты знаешь, что я понял, а что не понял?

Рассуждать об этом - неблагодарное дело, а если я что-то и не понял - какое это имеет к тебе отношение?
Так это он не понял, а не ты
источник

R

Respirant in pro.cxx
Ilia Zviagin
Так это он не понял, а не ты
Ничего не понял, но да ладно)
источник

S

Stepan in pro.cxx
Если потребуется объяснение, напиши
источник

MK

Mikhail Kalugin in pro.cxx
Stepan
Если потребуется объяснение, напиши
Предложите лучшее решение. Задача: заставить весь ввод-вывод консольного приложения windows использовать UTF-8
источник

АВ

Александр Водянников... in pro.cxx
А че, иероглифы вводить/выводить чтоли ?
источник

IZ

Ilia Zviagin in pro.cxx
Mikhail Kalugin
Предложите лучшее решение. Задача: заставить весь ввод-вывод консольного приложения windows использовать UTF-8
chcp 65000 или как там... И Win 10
источник

MK

Mikhail Kalugin in pro.cxx
Александр Водянников
А че, иероглифы вводить/выводить чтоли ?
Хм, а SetConsoleCP зачем там тогда?
источник