适用于C / C ++的广泛执行程序

时间:2020-03-06 14:50:27  来源:igfitidea点击:

是否存在exec [lv] [pe]wchar_t版本(即,将wchar_t用作路径而将wchar_t用作参数的exec`)?
在Windows中,我可以执行CreateProcessW(process,cmdline),但是在* nix中,我被卡住了(即没有纯的POSIX等效项)。
我正在尝试向程序添加" UTF-16"支持(自动运行)。

解决方案

那没有。在UNIX中,习惯于与环境交互时使用UTF-8.

但是,存在一个问题:UNIX / Linux上的文件系统与编码无关。所有文件名都只是"一堆字节"

因此,如果我执行LANG = ja_JAP.EUC_JP,创建一个具有日语名称的文件,那么当我查看文件名时,它看起来像是垃圾文件,那么我将执行LANG = ja_JP.UTF8,它将是无效的UTF-8字符串。

我们可能会说:为什么呢?但是,假设我们有一个供数百个国际用户使用的系统,每个用户都使用俄文/中文/韩文/阿拉伯文文件,并且我们必须编写一个备份应用程序:-(

"解决方案"是要求每个人都将语言环境设置为something.UTF8,但这只是一个约定,系统本身不执行任何操作。