zoukankan      html  css  js  c++  java
  • setlocale()函数测试当前语言的两个程序

    http://www.cnblogs.com/cnyao/archive/2010/05/06/1729220.html

    setlocale()函数是用来配置地域信息的,原本以为这个也是windows函数,结果居然是C++的标准函数,其头文件为<clocale>,按照一般的原则,所有原本C的函数被移植到C++标准库中时,是按照去掉后面的.h,前面加上c这样的原则。举例:<stdio.h>变成<cstdio>,所以我猜<clocale>也是这样,但是没有继续去确认。(从示例2上看,猜想是正确的)

    测试程序1:

    #include <stdio.h>
    #include <clocale>
    using namespace std;
    
    void
    sr_set_locale (void)
    {
        setlocale (LC_ALL, "");
        setlocale (LC_CTYPE, "");
        printf ("LOCALE is %s
    ",setlocale(LC_ALL,NULL));
    }
    
    int main()
    {
    	sr_set_locale();
    	return 0;
    }

    根据你系统地域设置的不同,你得到的结果也不同,我这里运行得到的结果为:

    LOCALE is Chinese_People's Republic of China.936

    测试程序2:

    /* setlocale example */
    #include <stdio.h>
    #include <time.h>
    #include <locale.h>
    
    int main ()
    {
      time_t rawtime;
      struct tm * timeinfo;
      char buffer [80];
    
      struct lconv * lc;
    
      time ( &rawtime );
      timeinfo = localtime ( &rawtime );
    
      int twice=0;
    
      do {
        printf ("Locale is: %s
    ", setlocale(LC_ALL,NULL) );
    
        strftime (buffer,80,"%c",timeinfo);
        printf ("Date is: %s
    ",buffer);
    
        lc = localeconv ();
        printf ("Currency symbol is: %s
    -
    ",lc->currency_symbol);
    
        setlocale (LC_ALL,"");
      } while (!twice++);
      
      return 0;
    }

    输出结果为:

    Locale is: C Date is: 05/06/10 20:51:14 Currency symbol is: - Locale is: Chinese_People's Republic of China.936 Date is: 2010-5-6 20:51:14 Currency symbol is: ¥ -

  • 相关阅读:
    evernote100个做笔记的好方法
    平衡二叉树的调整模版
    晨间日记的奇迹
    hdu 2952 Counting Sheep
    hdu 1535 Invitation Cards
    poj 3259 Wormholes(spfa)
    poj 2263 Heavy Cargo(floyd)
    poj 3268 Silver Cow Party(SPFA)
    hdu 1690 Bus System
    hdu 3631 Shortest Path(Floyd)
  • 原文地址:https://www.cnblogs.com/findumars/p/10247457.html
Copyright © 2011-2022 走看看