Q: переносимые имена файлов в локальных кодировках (C++)

Dec 29, 2011 12:59


Кросспост из блога автора. Комментировать лучше там, но можно и тут

А вот, извиняюсь, вопрос.
Вот есть имя файла в национальной кодировке и я его хочу fopen(). На Винде и на Маке одним куском кода (хе-хе).
Насколько я сумел это изучить, ситуация такая:
  • Win32: или я отдаю в fopen() 8-битную кодировку (1251), или в _wfopen() в wchar_t (UCS-16?)
  • Mac: отдаем в fopen() UTF-8 и нам щастье
  • Linux: не знаю, пока руки не дошли.
Но это все с русским, который представим в виде 8-бит. А с китайским? Сдается мне, что в винде это только через _wfopen() получится.
Вопрос: есть какой-то совместимый способ, одинаковый на всех помянутых системах, или так и придется #ifdef WIN32...?

windows, Программирование, mac os x

Previous post Next post
Up