问:在C/C++中,是否有接受Unicode的系统函数?见下面的原因:
#include <stdio.h>
#include <stdlib.h>
int main(int argc, char* argv[])
{
// http://stackoverflow.com/questions/3313332/bringing-another-apps-window-to-front-on-mac-in-c
system("osascript -e \"tell application \\\"Address Book\\\" to activate\"");
return EXIT_SUCCESS;
}
Run Code Online (Sandbox Code Playgroud)
据我所知,system()并不关心编码,它应该只是通过它.
也许你的问题是"如何在C中键入UTF-8字符串文字"或"osascript期望的编码"?
在C中执行UTF-8的可移植方式是使用\ x转义序列,但如果您愿意依赖C99或特定编译器,则通常可以直接键入UTF-8.
我猜想osascript期待UTF-8虽然我没有真正的想法.
使用_wsystem.
_wsystem是一个广泛的版本system; 命令参数to _wsystem是一个宽字符串.否则这些函数的行为相同.
http://msdn.microsoft.com/en-us/library/277bwbdz.aspx
名为的特殊函数main是所有C和C++程序的执行起点.如果您正在编写符合Unicode编程模型的代码,则可以使用wmain,这是main的宽字符版本.
http://msdn.microsoft.com/en-us/library/vstudio/6wd819wh.aspx
| 归档时间: |
|
| 查看次数: |
2536 次 |
| 最近记录: |