Использование wifstream
Неужели, чтобы открыть файл, имя которого задано в юникоде, нужно преобразовать его к ansi. Это же не всегда возможно.
Как вообще открыть файловый поток wifstream, если имя файла лежит в строке wstring?
Цитата:
Originally posted by bigcrush
Я использую юникоде версию файлового потока, но метод open объявлен: open(const char* filename, ...)
Неужели, чтобы открыть файл, имя которого задано в юникоде, нужно преобразовать его к ansi. Это же не всегда возможно.
Как вообще открыть файловый поток wifstream, если имя файла лежит в строке wstring?
Я использую юникоде версию файлового потока, но метод open объявлен: open(const char* filename, ...)
Неужели, чтобы открыть файл, имя которого задано в юникоде, нужно преобразовать его к ansi. Это же не всегда возможно.
Как вообще открыть файловый поток wifstream, если имя файла лежит в строке wstring?
Почему же нельзя переконвертировать из юникода,если к примеру система семейства Windows то практически на любой из них есть функция WideCharToMultiByte.
Не всегда. Если, скажем, в имени файла содержится смесь русских и немецких букв, то в ansi никак не сконвертировать. Я имел в виду именно такой общий случай. Конечно, если у нас имя состоит из английских и украинских букв, то всё сконвертится на ура, но я не слышал о 1-байтовой кодировке, содержащей русский и немецкий алфавиты.