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()
。
我正在尝试使用 system()
命令从我的 C++ 程序中执行一些脚本。我知道使用系统执行当前执行之外的事情的缺点。
我的问题是,我可以做一个 system(path)
,其中 path
指的是我需要执行的 shell 脚本。我现在正在尝试使用 unicode,我的路径可以包含 japanese/chinese 等字符。我让我的路径 char16_t 使用 UTF16 编码,但我现在如何调用 system() 呢??
感谢任何指点。
也许你可以把utf16转成utf8,然后用system或者fork和execv。
将字符串转换为 shell 期望的编码(可能是 UTF-8,并且可能使用 iconv 库)。
然后像往常一样调用 system()
。