Широкий exec для C / C ++ - PullRequest
       33

Широкий exec для C / C ++

4 голосов
/ 28 сентября 2008

Существует ли wchar_t версия exec[lv][pe] (то есть exec, которая использует wchar_t в качестве пути и wchar_t в качестве аргументов)? В Windows я могу просто сделать CreateProcessW(process, cmdline), но в *nix я застрял (т. Е. Нет чистого POSIX эквивалента). Я пытаюсь добавить поддержку UTF-16 в мою программу (автозапуск).

Ответы [ 2 ]

4 голосов
/ 28 сентября 2008

Там нет. В UNIX обычно используется UTF-8 при взаимодействии со средой.

2 голосов
/ 24 июля 2009

Однако существует проблема: файловая система в UNIX / Linux не зависит от кодировки. Все имена файлов - это просто «куча байтов»

Так что, если я сделаю LANG = ja_JAP.EUC_JP, создаю файл с японским именем, то я делаю LANG = ja_JP.UTF8, когда я смотрю на мое имя файла, которое будет выглядеть как нежелательное, и это будет недействительным UTF -8 строка.

Вы можете сказать: зачем это делать? Но представьте, что у вас есть система, используемая сотнями международных пользователей, каждый из которых использует русские / китайские / корейские / арабские файлы, и вам нужно написать приложение для резервного копирования: - (

«Решение» состоит в том, чтобы попросить всех установить языковой стандарт на что-то. UTF8, но это всего лишь соглашение, сама система ничего не применяет.

...