linux 上的 c++ system() 替代方案

Alternatives for c++ system() on linux

我正在尝试使用 system() 命令从我的 C++ 程序中执行一些脚本。我知道使用系统执行当前执行之外的事情的缺点。

我的问题是,我可以做一个 system(path),其中 path 指的是我需要执行的 shell 脚本。我现在正在尝试使用 unicode,我的路径可以包含 japanese/chinese 等字符。我让我的路径 char16_t 使用 UTF16 编码,但我现在如何调用 system() 呢??

感谢任何指点。

也许你可以把utf16转成utf8,然后用system或者fork和execv。

将字符串转换为 shell 期望的编码(可能是 UTF-8,并且可能使用 iconv 库)。 然后像往常一样调用 system()