zoukankan      html  css  js  c++  java
  • 宽字节 多字节 mbstowcs wcstombs

    函数

    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
    ", size); 
    printf("wbuf = %ls
    ", wbuf);
    //wprintf(L"%S
    ",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
    ", size); 
    printf("buf = %s
    ", buf);
    # ./a.out 
    size = 9
    buf = 我很好
  • 相关阅读:
    Ruby gem命令
    C语言中的static关键字
    Linux下clock计时函数学习
    open-falcon之dashboardportal说明.md
    open-falcon之graph
    open-falcon之query
    open-falcon之HBS
    open-falcon之judge
    open-falcon之transfer
    open-falcon之agent
  • 原文地址:https://www.cnblogs.com/zhangxuechao/p/11709722.html
Copyright © 2011-2022 走看看