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\n",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\n", setlocale(LC_ALL,NULL) ); strftime (buffer,80,"%c",timeinfo);
printf ("Date is: %s\n",buffer); lc = localeconv ();
printf ("Currency symbol is: %s\n-\n",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: ¥ -

setlocale()函数测试当前语言的两个程序的更多相关文章

  1. setlocale()函数详解——C语言

    setlocale函数 函数原型:char* setlocale (int category, const char* locale); setlocale位于头文件,setlocale() 函数既可 ...

  2. 黑马程序员-- C语言交换两个整数变量值几种函数比较

    总结了C语言中几种交换两个整数数值的函数,欢迎交流 #include <stdio.h> 使用多种交换变量值的函数比较 方法一:使用第三方临时变量 这种函数a,b只是值传递,实质上不能修交 ...

  3. 测试c语言函数调用性能因素之测试三

    函数调用:即调用函数调用被调用函数,调用函数压栈,被调用函数执行,调用函数出栈,调用函数继续执行的一个看似简单的过程,系统底层却做了大量操作. 操作: 1,               调用函数帧指针 ...

  4. 经典笔试题:用C写一个函数测试当前机器大小端模式

    “用C语言写一个函数测试当前机器的大小端模式”是一个经典的笔试题,如下使用两种方式进行解答: 1. 用union来测试机器的大小端 #include <stdio.h> union tes ...

  5. c语言实现两数交换的三种方法

    实现变量的值互相交换的三种不同方法 方法一:利用第三个变量来实现数值的交换 int tmp; tmp = a; a = b; b = tmp; 此方法直观,简易.不易出错,推荐使用 方法二:利用两个变 ...

  6. C语言中两位ASCII码可以表示汉字

    最近偶然有人问到这个相关字符编码的问题,所以百度了下参考了这两个资料,进行了简单分析. ******************************************************** ...

  7. django重点url,视图函数,模板语言

    django重点url,视图函数,模板语言url 1.django重点url无命名分组:re_path() 2.url第一个参:url未命别名分组就不需要views中参数一定,若命别名(?P<y ...

  8. js匿名函数测试

    js匿名函数测试 <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> < ...

  9. PHP setlocale() 函数

    实例 设置地区为 US English,然后再设置回系统默认: <?php高佣联盟 www.cgewang.comecho setlocale(LC_ALL,"US");ec ...

随机推荐

  1. linux 设置tomcat快捷启动方式

    在linux下搭建好tomcat之后,每次启动和关闭都要去tomcat的bin目录下执行./startup.sh和./shutdown.sh 这是很不方便的,下面介绍如何像执行ls mv cp等命令一 ...

  2. [UIDevice currentDevice].model

    iPhone Simulator iPad Simulator iPod touch iPad iPhone  

  3. redis清空部分key

    redis-cli keys "test:job:*" redis-cli keys "test:job:*" |xargs redis-cli del

  4. C# Post Json数据到对方url

    1. /// <summary> /// 调用对方Url,Post上传数据 /// </summary> /// <param name="postData&q ...

  5. Nginx使用naxsi防xss、防注入攻击配置

    == 对于nginx有相应模块来完成WAF构建,此处使用的是naxsi模块. == 一.安装前提 .必须安装了nginx并可提供基本服务(这个是添加模块儿的前提,自己google吧): .下载naxs ...

  6. 转-Cannot refer to an instance field arg while explicitly invoking a constructor

    编译失败: Cannot refer to an instance field arg while explicitly invoking a constructor  调用方法时不能引用一个实例变量 ...

  7. Java并发编程(十四)并发容器类

    同步容器将所有对容器状态的访问都串行化,以实现线程安全性.这种方法的代价是严重降低并发性,当多个线程竞争容器的锁时,吞吐量将严重减低. 另一个方面,并发容器是针对多个线程并发访问设计的.在java 5 ...

  8. openwrt安装编译

    官网安装编译推荐: https://wiki.openwrt.org/doc/howto/buildroot.exigence https://wiki.openwrt.org/doc/howto/b ...

  9. 【转】【Mac系统】之ADB命令总结

    参考文章: 张明云:<Android ADB命令大全(通过ADB命令查看wifi密码.MAC地址.设备信息.操作文件.查看文件.日志信息.卸载.启动和安装APK等)> Yjnull:< ...

  10. Android Studio--NDK编译C代码为.so文件,JNI调用

    前言: 从Android Studio开始,就支持jni和.so库调用了. 环境: Windows 7+Android Studio2.1.2+NDK版本:android-ndk-r10e 准备工作: ...