函数

size_t wcstombs(char *dest, const wchar_t *src, size_t n); //wide-character to a multibyte

n:被写入到 str 中的最大字节数

size_t mbstowcs(wchar_t *dest, const char *src, size_t n); //multibyte to wide-character

n:被转换的最大字符数

char *setlocale(int category, const char *locale);

设置当前程序使用的本地化信息

locale:语言代码_国家代码.编码。比如(zh_CN.UTF-8, en_US)

int wprintf(const wchar_t *format, ...);
int fwprintf(FILE *stream, const wchar_t *format, ...);
int swprintf(wchar_t *wcs, size_t maxlen,
const wchar_t *format, ...);

举例

char *str = "你好吗";
setlocale(LC_ALL, "en_US.utf8");
wchar_t wbuf[64] = {0};
int size = mbstowcs(wbuf, str, strlen(str));
printf("size = %d\n", size);
printf("wbuf = %ls\n", wbuf);
//wprintf(L"%S\n",wbuf); //printf二选一
# ./a.out
size = 3
wbuf = 你好吗
wchar_t *wstr = L"我很好";
setlocale(LC_ALL, "en_US.utf8");
char buf[64] = {0};
int size = wcstombs(buf, wstr, sizeof(buf));
printf("size = %d\n", size);
printf("buf = %s\n", buf);
# ./a.out
size = 9
buf = 我很好

最新文章

  1. 由cobertura插件生成测试覆盖率报告
  2. ios中的RunLoop 和 android 中的Looper
  3. Hibernate createCriteria查询详解
  4. sql server 2005 32位+64位、企业版+标准版、CD+DVD 下载地址大全 .
  5. NodeMCU之旅(三):响应配置按钮
  6. 1.4.2. 实现 Core Data Helper 类(Core Data 应用程序实践指南)
  7. 【树莓派】为树莓派配置或扩展swap分区
  8. log4j配置文件详解(转)
  9. Android 入门(1)使用第三方控件
  10. rbac(基于角色权限控制)-------权限管理
  11. 016 SpringMVC中重定向
  12. Retrofit 2.0 使用详细教程
  13. 小矮人Javascript模块加载器
  14. numpy.loadtxt用法
  15. Oracle修改监听端口教程
  16. vscode 搭建react-native
  17. Laravel学习之旅(一)
  18. atitit.面向过程的编程语言异常处理 c语言 asp vbs 的try catch 实现
  19. LVM分区
  20. CPU利用率与Load Average的区别?

热门文章

  1. github上fork分支后再合入原master分支的改动
  2. mysql 1045
  3. QML工程加载main.qml的两种方式
  4. HTML布局水平导航条1制作
  5. git 操作说明
  6. Selenium登录126邮箱,chrome定位不到账号输入框解决办法
  7. linux系统界面转换
  8. input回退禁止
  9. java后端通过request对象获取请求的ip地址工具类
  10. Linux 脚本语言入门