适用于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,但这只是一个约定,系统本身不执行任何操作。