C / C ++的广泛执行

时间:2008-09-28 06:30:00

标签: c++ c exec wchar-t

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

2 个答案:

答案 0 :(得分:4)

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

答案 1 :(得分:2)

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

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

你可能会说:为什么这样?但是想象一下,你有一个由数百名国际用户使用的系统,每个用户都使用俄文/中文/韩文/阿拉伯文件,你必须编写一个备份应用程序: - (

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