目录

  • 一._wcslwr_s 函数简介
  • 二._wcslwr_s 函数实战
  • 三.注意问题
  • 四.猜你喜欢

零基础 C/C++ 学习路线推荐 : C/C++ 学习目录 >> C 语言基础入门

零基础 C/C++ 学习路线推荐 : C/C++ 学习目录 >> C++ 面向对象

零基础 C/C++ 学习路线推荐 : C/C++ 学习目录 >> C++ 设计模式

零基础 C/C++ 学习路线推荐 : C/C++ 学习目录 >> C++ STL

零基础 C/C++ 学习路线推荐 : C/C++ 学习目录 >> C/C++ 技术杂谈

零基础 C/C++ 学习路线推荐 : C/C++ 学习目录 >> C/C++ 常用函数

一._wcslwr_s 函数简介

在 C / C++ 中字符串分为多字节字符串和宽字节字串(也称 unicode 字符串),具体区别请参考:《unicode 和多字节区别》;

**C 语言中_strlwr_s函数可用于将多字节字符串中的大写转为小写,而_wcslwr_s函数则用于将unicode宽字节字符串中的大写转为小写,需要包含头文件string.h_wcslwr_s` 函数语法如下:

/*
*描述:此类函数是用于将unicode字符串中的大写字符转为小写
*
*参数:
*   [in/out] _Str:将该字符串中的大写字符转换为小写
*   [in] _Size:拼接后的字符串大小(并非目标字符串大小也并非原始字符串大小)
*
*返回值:errno_t是微软新定义的一种类型,这种类型是一种整型,代表错误代码,具体参考MSDN介绍,
*       若果是0 则代表没有错误,如果是其他的值 ,则会抛出一个值;
*///头文件:string.herrno_t _wcslwr_s(char * _Str, size_t _Size);

二._wcslwr_s 函数实战

/******************************************************************************************/
//@Author:猿说编程
//@Blog(个人博客地址): www.codersrc.com
//@File:C/C++ _wcslwr_s 函数 –  unicode 字符串大写转小写
//@Time:2021/08/23 08:00
//@Motto:不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
/******************************************************************************************/#include "stdafx.h"
#include<stdlib.h>
#include<stdio.h>
#include<string.h>
#include "windows.h"
#include <Locale.h> //setlocale 设置输出文字的语言区域,否则输出wchar字符包含中文乱码void main()
{WCHAR dst[1024] = { L"www.CODERSRC.com" };//使用wprintf输出中文需要设置输出文字的语言区域,否则乱码setlocale(LC_ALL, "chs"); //chs 表示中文 ,需要包含头文件 Locale.hwprintf(L"_wcslwr_s之前 dst:%s\n", dst);_wcslwr_s(dst, wcslen(dst) + 1);wprintf(L"_wcslwr_s之后 dst:%s\n", dst);system("pause");
}
/*
输出结果:
_wcslwr_s之前 dst:www.CODERSRC.com
_wcslwr_s之后 dst:www.codersrc.com
请按任意键继续. . .
*/

三.注意问题

1. _wcslwr_s第二个参数需要包含’\0’`,否则崩溃!

_strlwr_s(dst, strlen(dst)); //崩溃

2.控制台输出 WCHAR / wchar_t ( unicode 字符串)只能使用 wprintf,并非printf` ;

输出多字节字符串,使用printf函数 ;
输出宽字节字符串,使用wprintf 函数;

3.如果使用 setlocale 输出的 unicode 字符串中含有中文,必须通过 setlocale 函数设置语言为中文,否则乱码;

char* p1 = "C/C++教程-猿说编程";      //普通字符串 - 多字节字符串
wchar_t* p2 = L"C/C++教程-猿说编程";  //unicode字符串 - 字符串有修饰符 Lprintf("p1 :%s \n", p1);
wprintf(L"p2 :%s \n", p2);
/*
输出:
p1 :C/C++教程-猿说编程
p2 :C/C++??-????
请按任意键继续. . .
*/

解决办法:参考上面例子,设置语言格式即可

setlocale(LC_ALL, "chs"); //chs 表示中文 ,需要包含头文件 Locale.h

四.猜你喜欢

  1. C 语言 数组下标越界和内存溢出区别
  2. C 语言 使用指针遍历数组
  3. C 语言 指针和数组区别
  4. C 语言 指针数组和数组指针区别
  5. C 语言 野指针
  6. C 语言 函数值传递和址传递
  7. C 语言 函数不定长参数
  8. C 语言 函数指针
  9. C 语言 指针函数
  10. C 语言 回调函数 callback
  11. C 语言 #pragma once
  12. C 语言 #include <> 与 #include “” 区别
  13. C 语言 const 修饰函数参数
  14. C 语言 const 和 define 区别
  15. C 语言 #运算符
  16. C 语言 ##运算符
  17. C 语言 __VA_ARGS__
  18. C 语言 ##__VA_ARGS__
  19. C 语言 函数不定长参数 ##__VA_ARGS__经典案例
  20. C 语言 va_start / va_end / va_arg 自定义 printf 函数
  21. C 语言 main 函数
  22. C 语言 main 函数参数 main(int argc, char *argv[])
  23. C 语言 局部变量
  24. C 语言 全局变量
  25. C 语言 全局变量和局部变量区别
  26. C 语言 static
  27. C 语言 extern
  28. C/C++ Unicode 和多字节区别
  29. C/C++ wprintf 输出中文乱码
  30. C/C++ char 和 wchar_t 相互转换

未经允许不得转载:猿说编程 » C/C++ _wcslwr_s 函数 – unicode 字符串大写转小写

C/C++ _wcslwr_s 函数 – unicode 字符串大写转小写 - C语言零基础入门教程相关推荐

  1. C/C++ _strlwr_s 函数 – 字符串大写转小写- C语言零基础入门教程

    目录 一._strlwr_s 函数简介 二._strlwr_s 函数实战 三.猜你喜欢 零基础 C/C++ 学习路线推荐 : C/C++ 学习目录 >> C 语言基础入门 零基础 C/C+ ...

  2. C语言 const 修饰函数参数 - C语言零基础入门教程

    C语言 const 修饰函数参数 - C语言零基础入门教程 目录 一.const 简介 1.const 修饰变量 2.const 修饰指针 3.const 修饰在函数名前面 4.const 修饰在函数 ...

  3. C/C++ _wcsupr_s 函数 – unicode 字符串小写转大写 - C语言零基础入门教程

    目录 一._wcsupr_s 函数简介 二._wcsupr_s 函数实战 三.注意问题 三.猜你喜欢 零基础 C/C++ 学习路线推荐 : C/C++ 学习目录 >> C 语言基础入门 零 ...

  4. C语言 memcpy 和 strcpy 函数区别 - C语言零基础入门教程

    目录 一.memcpy 函数/strcpy 函数简介 二.memcpy 函数/strcpy 函数实战 1.strcpy 函数属于字符串拷贝 2.memcpy 函数属于内存拷贝 三.猜你喜欢 零基础 C ...

  5. C语言 memcpy 函数 - C语言零基础入门教程

    目录 一.memcpy 函数简介 二.memcpy 函数实战 1.memcpy 函数简单使用 2.strcpy 函数属于字符串拷贝 3.memcpy 函数属于内存拷贝 4.memcpy 函数注意崩溃问 ...

  6. C语言 char 字符串 - C语言零基础入门教程

    目录 一.char 字符串简介 二.字符和字符串区别 1.取值范围相同 2.字符串由多个字符构成 3.字符串和字符使用 printf 函数 三.char 字符串遍历 四.猜你喜欢 零基础 C/C++ ...

  7. C语言 strcpy 函数 - C语言零基础入门教程

    目录 一.strcpy 函数简介 二.strcpy 函数实战 1.strcpy 函数简单使用 2.strcpy 函数拷贝内容以'\0'结尾 3.strcpy 函数注意崩溃问题 三.猜你喜欢 零基础 C ...

  8. C语言 函数声明和调用 - C语言零基础入门教程

    目录 一.简介 二.函数声明和定义 1.函数声明:不需要实现这个函数的功能 2.函数定义:必须实现这个函数的功能 三.函数调用 四.函数形参和实参 五.猜你喜欢 零基础 Python 学习路线推荐 : ...

  9. C语言 exit 函数 - C语言零基础入门教程

    目录 一.exit 函数简介 二.exit 函数使用 三.exit 函数和 return 区别 四.猜你喜欢 零基础 C/C++ 学习路线推荐 : C/C++ 学习目录 >> C 语言基础 ...

最新文章

  1. OpenAI推新程序包:GPU适应十倍大模型仅需增加20%训练时间
  2. 外网无法访问hdfs文件系统
  3. SD-WAN技术分析—Vecloud
  4. 数字图像处理与Python实现笔记之空间滤波
  5. 遍历 Dictionary,你会几种方式?
  6. 哪三级分类java_技术汇总:第五章:使用angularjs做首页三级分类
  7. jquery的validate的用法
  8. python手动抛出异常
  9. 软件测试整理复习(简答题)转载请经由作者同意
  10. 知名国产论坛,凉了!!!!
  11. PHP编写简单的注册登录页面
  12. Iterator死循环
  13. 前端学习笔记之三PS
  14. linux下delete释放不了内存,c++delete后虚拟内存不降的原因(疑似内存泄漏)
  15. 【实操】下载在线m3u8视频为本地mp4
  16. Unityt涂抹擦除功能
  17. 如何优化PNG,JPG图片减小图片文件大小
  18. 【SSL】2022.5.2 1125.集合
  19. 微信小程序—WXML模板语法
  20. 【C++】1023 组个最小数

热门文章

  1. 阿里云全站加速DCDN升级
  2. 阿里云熊鹰:基于融合、协同系统的边缘云原生架构演进和实践
  3. 开源性能可视化工具——FlameScope模式识别
  4. 千万并发连接下,如何保障网络性能
  5. 什么是Docker?看这一篇文章就够了
  6. 行!人工智能玩大了!程序员:太扯,阴谋!你怎么看?
  7. 英特尔强势上新一大波数据产品,小伙伴们“奔走相告”…… | 极客头条
  8. 容器精华问答 | Docker和虚拟机有什么差别?
  9. 万字长文|深度剖析Service Mesh服务网格新生代Istio
  10. 组件通信之pubsub