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





Нет. В UNIX при взаимодействии с окружением принято использовать UTF-8.
В этом прелесть UTF-8 - они не должны быть такими. Любые функции, которые работают с байтами с завершающим NULL (AKA почти все), будут работать с UTF-8.
в Unix при взаимодействии с окружением обычно используется ASCII.
Однако есть проблема: файловая система в UNIX / Linux не зависит от кодирования. Все имена файлов представляют собой просто «кучу байтов»
Итак, если я сделаю LANG = ja_JAP.EUC_JP, создаю файл с японским именем, тогда я сделаю LANG = ja_JP.UTF8, когда я посмотрю, имя моего файла будет выглядеть как мусор, и это будет недопустимая строка UTF-8. .
Вы можете сказать: зачем это делать? Но представьте, что у вас есть система, которую используют сотни международных пользователей, каждый из которых использует файлы на русском / китайском / корейском / арабском языках, и вам нужно написать приложение для резервного копирования :-(
«Решение» состоит в том, чтобы попросить всех установить для чего-то локаль. UTF8, но это всего лишь соглашение, сама система ничего не требует.
Поддерживает ли exec [lv] [pe] * UTF-8?