zoukankan      html  css  js  c++  java
  • setlocale(LC_ALL, ""); 取值为空字符串" "(注意,不是NULL),则locale与本地环境所使用的编码方式相同(在本地化时,应该很有用);

    在C运行库提供的多字节字符-宽字符转换函数:mbstowcs()/wcstombs()中,需要用到全局变量locale( locale encoding ),以指定多字节字符的编码类型

    1. 功能:

    用来定义全局变量:locale(locale encoding)

    头文件:


    setlocale <locale.h> ANSI, Win 95, Win NT
    _wsetlocale <locale.h> or <wchar.h>
    2. 原型:

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

    wchar_t *_wsetlocale( int category, const wchar_t *locale );


    3. 参数:

    1> category

    指定全局变量locale会影响到的范围。宏和对应的影响范围如下:

    LC_ALL

    All categories, as listed below

    LC_COLLATE

    The strcoll, _stricoll, wcscoll, _wcsicoll, and strxfrm functions

    LC_CTYPE

    The character-handling functions (except isdigit, isxdigit, mbstowcs, and mbtowc, which are unaffected)

    LC_MONETARY

    Monetary-formatting information returned by the localeconv function

    LC_NUMERIC

    Decimal-point character for the formatted output routines (such as printf), for the data-conversion routines, and for the nonmonetary-formatting information returned by localeconv

    LC_TIME

    The strftime and wcsftime functions

    2> locale 

    指定locale的名称

    如果取值为空字符串" "(注意,不是NULL),则locale与本地环境所使用的编码方式相同(在本地化时,应该很有用);

    如果取值为“C”,则表示,所有的字符类型都用一字节来表示(取值小于256) 

    简体中文的locale名称为:"chs"

    4. 返回值:

    如果locale和category都正确的话,会返回与指定的locale和category相关的字符串;

    如果locale或者category不正确的话,会返回一个null指针,目前的locale全局变量不会改变

    示例代码:

    获取本地所使用的语言:

    void main()
    {
    char * localLanguage=setlocale(LC_ALL, "");
    if(localLanguage==NULL)
    {
    printf("获取本地语言类型失败 ");
    return;
    }

    printf("Locale Language is %s ", localLanguage);
    }

    输出如下:
    Locale Language is Chinese_People's Republic of China.936
    ---------------------
    作者:xiaobai1593
    来源:CSDN
    原文:https://blog.csdn.net/xiaobai1593/article/details/7387889
    版权声明:本文为博主原创文章,转载请附上博文链接!

    http://www.voidcn.com/article/p-dqvxrzfi-zh.html

  • 相关阅读:
    数组最值和两种排序
    整数翻转,99乘法表,百钱买百鸡
    运算符综合练习题
    五子棋实现体验其过程
    二维数组斜线扫描2(方法逻辑清晰)
    字符串链接练习题
    母串中有几个相同的子串
    递归求菲波拉契前N项的和
    [LeetCode] Mini Parser
    Linked List 小结
  • 原文地址:https://www.cnblogs.com/findumars/p/10247466.html
Copyright © 2011-2022 走看看