当前位置: 首页 > wzjs >正文

西安高端网站开发向wordpress提交插件

西安高端网站开发,向wordpress提交插件,怎样上传自己的网站,湖南长沙电信大楼着火C语言标准库函数setlocale用法详解 C语言标准库函数setlocale定义在 <locale.h> 头文件中&#xff08;在C编程中&#xff0c;这个头文件等价于 <clocale> &#xff09;。 原型&#xff1a; char* setlocale (int category, const char* locale);函数参数解析 c…

C语言标准库函数setlocale用法详解

C语言标准库函数setlocale定义在 <locale.h> 头文件中(在C++编程中,这个头文件等价于 <clocale> )。

原型:

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

函数参数解析

category

int类型,可以取以下几个值:

影响范围
LC_ALL全部更改为传入的locale
LC_COLLATE影响字符串比较函数 strcol1()和 strxfrm()。
LC_CTYPE影响字符处理函数的行为。
LC_MONETARY影响货币格式
LC_NUMERIC影响 printf() 的数字格式
LC_TIME影响时间格式 strftime()和 wcsftime()。

locale

locale参数是字符串(char*)类型,有以下几种写法:

| “language[_country-region[.code-page]]”

  1. 名称写法,例如中文多字节代码页""
  2. Windows特有的代码页写法 “.code-page”,例如936代码页的locale,“.936”;65001代码页的locale,“.65001”。
  3. 通用选项"C"、“”、NULL

常见的locale本地化参数效果如下表所示:

效果
“C”采用仅支持ASCII的最小本地化配置
NULL不改变任何设置,函数仅返回当前的locale名称
“”采用当前系统环境的默认代码页。例如中文Windows系统默认的locale为ANSI/OEM 936
“.utf8”使用UTF-8本地化
“.utf-8”使用UTF-8本地化
“en_us.utf8”使用UTF-8本地化
“LC_MONETARY=en-US;LC_TIME=ja-JP”货币使用en-US本地化(美国货币符号),时间使用ja-JP本地化(日本时间格式)

更多设置格式,可参考文末UCRT Locale names, Languages, and Country/Region strings链接。

应用

本节给出setlocale函数的具体应用,以便读者体会其功能。

应用1:在控制台打印宽字符

为输出宽字符,调用setlocale是必要的。
看一段例程:

/* setlocale example */
#include <stdio.h>      /* printf */
#include <time.h>       /* time_t, struct tm, time, localtime, strftime */
#include <locale.h>     /* struct lconv, setlocale, localeconv */int main ()
{wchar_t* pstr0=L"Wide Character Test 0\n";wprintf(pstr0);wchar_t* pstr1=L"宽字符测试1\n";wprintf(pstr1);setlocale(LC_ALL,"");wchar_t* pstr2=L"宽字符测试2\n";wprintf(pstr2);return 0;
}

运行后得到如下输出:

Wide Character Test 0
宽字符测试2

也就是说,调用setlocale之前,程序的默认本地化环境是 “C” ,只支持 ASCII 字符,中日韩等非ASCII字符会被视为无效字符。
而wprintf函数输出字符串到控制台时,需要先将UTF-16编码的字符数据转换成多字节编码(如GBK、UTF-8等)数据。调用setlocale之前,包含了中日韩字符的字符串转换过程必失败,从而导致L"宽字符测试1"未被输出。

将setlocale的调用位置放到程序最开始,再次尝试:

/* setlocale example */
#include <stdio.h>      /* printf */
#include <time.h>       /* time_t, struct tm, time, localtime, strftime */
#include <locale.h>     /* struct lconv, setlocale, localeconv */int main ()
{setlocale(LC_ALL,"");wchar_t* pstr0=L"Wide Character Test 0\n";wprintf(pstr0);wchar_t* pstr1=L"宽字符测试1\n";wprintf(pstr1);wchar_t* pstr2=L"宽字符测试2\n";wprintf(pstr2);return 0;
}

运行后得到如下输出:

Wide Character Test 0
宽字符测试1
宽字符测试2

应用2:控制货币、时间日期格式

请运行代码以切实体会setlocale的不同参数对货币符号、时间日期格式的影响:

/* setlocale example */
#include <stdio.h>      /* printf */
#include <time.h>       /* time_t, struct tm, time, localtime, strftime */
#include <locale.h>     /* struct lconv, setlocale, localeconv */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;

命令行输出结果为:
在这里插入图片描述

参考

来自cplusplus.com的setlocale函数定义与示例

微软文档:

setlocale, _wsetlocale
UCRT Locale names, Languages, and Country/Region strings


文章转载自:

http://e8hLyjAe.bnzjx.cn
http://Cg3gr7Lm.bnzjx.cn
http://3kNIbMZR.bnzjx.cn
http://aOlq847g.bnzjx.cn
http://ovtMZMnz.bnzjx.cn
http://VPIL5ah8.bnzjx.cn
http://BEbeyxQN.bnzjx.cn
http://iEGYU2OO.bnzjx.cn
http://7Cjno1dh.bnzjx.cn
http://1p8w1PqJ.bnzjx.cn
http://vYYywLCq.bnzjx.cn
http://mS1KINTs.bnzjx.cn
http://hGYcwTeq.bnzjx.cn
http://0Nb5qMVi.bnzjx.cn
http://O71Ko4RT.bnzjx.cn
http://jAkY9XvU.bnzjx.cn
http://MBE3ZqH5.bnzjx.cn
http://xYwWAqK0.bnzjx.cn
http://1fn959o2.bnzjx.cn
http://TSSbW6Bg.bnzjx.cn
http://pdoJ0hKy.bnzjx.cn
http://0IeN3AS5.bnzjx.cn
http://PrLvkgaw.bnzjx.cn
http://mvBIyL1o.bnzjx.cn
http://R2GgIzVU.bnzjx.cn
http://zlEgudwE.bnzjx.cn
http://7tKjjvZx.bnzjx.cn
http://R03xY9Ny.bnzjx.cn
http://UZcjo2PE.bnzjx.cn
http://LNkAxjQ7.bnzjx.cn
http://www.dtcms.com/wzjs/698063.html

相关文章:

  • 网站维护属于什么部门建设vip视频解析网站违法吗
  • 建设企业网站哪个好西安室内设计公司排名
  • 如何办网站 论坛东莞建设最好的镇
  • 中国建设银行网站网上银行工程项目备案信息查询
  • 汕头模板开发建站大连免费模板建站
  • Dw做html网站学徒制下的课程网站建设
  • vr 做的网站网站设计模板之家
  • 网站建设使用的什么软件任县网站制作
  • 佛山网站建设推广订做全面启动门户网站建设
  • 阿里能帮做网站吗夏邑网站建设
  • 合肥最好的网站建设公司怎么做网站简单的
  • 贵阳做网站费用怎么样建立自己的网页
  • 企慕网站建设网络推广阿里云网站建设有什么好处
  • 厦门企业如何建网站wordpress记录点击数
  • 电子商务网站的开发原则包括湖州广告设计公司
  • 网站制作论文文献综述ppt要怎么做网站
  • 旅游网站作用吉林省吉林市地图
  • 东莞网站设计资讯英国搜索引擎
  • 郑州网站排名优化网站前台乱码
  • 网站建设资料百度云有记事本做简易网站
  • 杭州淘策网站开发湖南速马科技有限公司
  • 网站首页新闻模板网站建设需要固定ip地址吗
  • 个人网站备案审批郑州谷歌优化外包
  • 可以做代销的网站都有哪些wordpress 用户量
  • 西安大型网站建设万网衡水网站备案
  • 广州网站建设oem潍坊知名网站建设哪家便宜
  • 触屏网站开发网站建设是半年的持久战
  • 做直播网站软件有哪些软件济南网站建设公司
  • mugeda做网站网站服务理念
  • 网站制作加教程视频制作一个静态网页