我想在 Linux 中开发一个应用程序。我想使用 wstring 因为我的应用程序应该支持 unicode 而我不想使用 UTF-8 字符串。
在 Windows 操作系统中,使用 wstring 很容易。因为任何 ANSI API 都有 unicode 形式。例如有两个 CreateProcess API,第一个 API 是 CreateProcessA,第二个 API 是 CreateProcessW。
wstring app = L"C:\\test.exe";
CreateProcess
(
app.c_str(), // EASY!
....
);
但是在 Linux 中使用 wstring 似乎很复杂!例如,Linux 中有一个名为parport_open的 API (它只是一个示例)。
而且我不知道如何将我的 wstring 发送到这个 API(或像 parport_open 这样接受字符串参数的 API)。
wstring name = L"myname";
parport_open
(
0, // or a valid number. It is not important in this question.
name.c_str(), // Error: because type of this parameter is char* not wchat_t*
....
);
我的问题是如何在 Linux API 中使用 wstring(s)?
注意:我不想使用 UTF-8 字符串。
谢谢