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

目录

  • 一._wcsupr_s 函数简介
  • 二._wcsupr_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++ 常用函数

一._wcsupr_s 函数简介

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

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

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

二._wcsupr_s 函数实战

/******************************************************************************************/
//@Author:猿说编程
//@Blog(个人博客地址): www.codersrc.com
//@File:C/C++ _wcsupr_s 函数 – unicode 字符串小写转大写
//@Time:2021/08/25 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.SHUOPYTHON.com" };//使用wprintf输出中文需要设置输出文字的语言区域,否则乱码setlocale(LC_ALL, "chs"); //chs 表示中文 ,需要包含头文件 Locale.hwprintf(L"_wcsupr_s之前 dst:%s\n", dst);_wcsupr_s(dst, wcslen(dst) + 1);wprintf(L"_wcsupr_s之后 dst:%s\n", dst);system("pause");
}
/*
输出结果:
_wcsupr_s之前 dst:www.SHUOPYTHON.com
_wcsupr_s之后 dst:WWW.SHUOPYTHON.COM
请按任意键继续. . .
*/

三.注意问题

1. _wcsupr_s 第二个参数需要包含'\0',否则崩溃!

_wcsupr_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++ _wcsupr_s 函数 – unicode 字符串小写转大写

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/524638.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

React之props限制

<!DOCTYPE html> <html> <head> <meat charset"UTF-8"> <title>2_props限制</title> </head> <body> <!-- 准备好一个容器 --> <div id"test1"></div> <div id"test2"&…

msyql之事务

--事务 --转账 create database shop character set utf8 collate utf8_general_ci use shop create table account( id int(3) not null auto_increment, NAMEvarchar(30) not null, moneydecimal(9,2) not null, primary key(id) )engineinnodb default cha…

云评测 | OpenStack智能运维解决方案 @文末有福利!

戳蓝字“CSDN云计算”关注我们哦&#xff01;文章摘自 | 《OpenStack架构分析与实践》谈到OpenStack&#xff0c;一个难以避免的话题就是运维&#xff0c;对于OpenStack的运维而言&#xff0c;随着其项目的不断增多&#xff0c;传统的“人肉运维”方式显然不能满足当下及以后的…

C/C++ ceil 函数 - C语言零基础入门教程

目录 一.ceil 函数简介二.ceil 函数使用三.猜你喜欢 零基础 C/C 学习路线推荐 : C/C 学习目录 >> C 语言基础入门 零基础 C/C 学习路线推荐 : C/C 学习目录 >> C 面向对象 零基础 C/C 学习路线推荐 : C/C 学习目录 >> C 设计模式 零基础 C/C 学习路线推荐 :…

通信协议讲解

协议&#xff1a;约定&#xff0c;好比说的普通话 网络通信协议:速率&#xff0c;传输码率&#xff0c;代码结构&#xff0c;传输控制...... 问题&#xff1a;非常的复杂&#xff1f; 大事化小&#xff1a;分层&#xff01; TCP/IP协议簇&#xff1a;实际上是一组协议 重要…

要闻君说: 百度云喜提信息安全首证;紫光展锐携5G芯片进击2019MWC;OPPO首发5G手机惊艳亮相……...

关注并标星星CSDN云计算每周三次&#xff0c;打卡即read更快、更全了解泛云圈精彩newsgo go go 大家好&#xff01;偶是要闻君。活动多多、新闻不少&#xff0c;精神饱满的周一&#xff0c;学起来&#xff01;&#xff01;&#xff01;文/要闻君一年一度&#xff0c;十分重磅&a…

C/C++ floor 函数 - C语言零基础入门教程

目录 一.floor 函数简介二.floor 函数使用三.猜你喜欢 零基础 C/C 学习路线推荐 : C/C 学习目录 >> C 语言基础入门 零基础 C/C 学习路线推荐 : C/C 学习目录 >> C 面向对象 零基础 C/C 学习路线推荐 : C/C 学习目录 >> C 设计模式 零基础 C/C 学习路线推荐…

Tcp实现聊天讲解

客户端&#xff1a; 1.连接服务器Socket 2.发送消息 服务端&#xff1a; 1.建立服务端口ServerSocket 2.等待用户的连接accept 3.接收用的消息 package com.wuming.lesson02;import java.io.ByteArrayOutputStream; import java.io.IOException; import java.io.InputStr…

Spring精华问答 | Spring Boot有哪些优点?

戳蓝字“CSDN云计算”关注我们哦&#xff01;Spring是于2003 年兴起的一个轻量级的Java 开发框架&#xff0c;为了解决企业应用开发的复杂性而创建的。今天&#xff0c;我们一起来看看关于Spring更加有深度的问答吧。。1Q&#xff1a;Spring Boot有哪些优点&#xff1f;A&#…

C/C++ round 函数 - C语言零基础入门教程

目录 一.round 函数简介二.round 函数使用三.猜你喜欢 零基础 C/C 学习路线推荐 : C/C 学习目录 >> C 语言基础入门 零基础 C/C 学习路线推荐 : C/C 学习目录 >> C 面向对象 零基础 C/C 学习路线推荐 : C/C 学习目录 >> C 设计模式 零基础 C/C 学习路线推荐…

基于Kubernetes的持续部署方案

戳蓝字“CSDN云计算”关注我们哦&#xff01;文章转载自Docker方案概述本技术方案为基于Kubernetes为核心的持续部署&#xff08;下文简称CD&#xff09;方案&#xff0c;可以满足开发方的程序级日志查看分析&#xff0c;运维方的快速扩容与日常运维分析&#xff0c;并且可以保…

C/C++ abs 函数 - C语言零基础入门教程

目录 一.abs 函数简介二.abs 函数使用三.猜你喜欢 零基础 C/C 学习路线推荐 : C/C 学习目录 >> C 语言基础入门 零基础 C/C 学习路线推荐 : C/C 学习目录 >> C 面向对象 零基础 C/C 学习路线推荐 : C/C 学习目录 >> C 设计模式 零基础 C/C 学习路线推荐 : C…

Tcp实现文件上传

package com.wuming.lesson02;import java.io.*; import java.net.ServerSocket; import java.net.Socket;public class TcpServerDemo02 {public static void main(String[] args) throws Exception {//1.创服务ServerSocket serverSocket new ServerSocket(9000);//2.监听客…

C/C++ fabs 函数 - C语言零基础入门教程

目录 一.fabs 函数简介二.fabs 函数使用三.猜你喜欢 零基础 C/C 学习路线推荐 : C/C 学习目录 >> C 语言基础入门 零基础 C/C 学习路线推荐 : C/C 学习目录 >> C 面向对象 零基础 C/C 学习路线推荐 : C/C 学习目录 >> C 设计模式 零基础 C/C 学习路线推荐 :…

云存储精华问答 | 如何选择云迁移策略?

戳蓝字“CSDN云计算”关注我们哦&#xff01;云存储是在云计算概念上延伸和发展出来的一个新的概念&#xff0c;是一种新兴的网络存储技术&#xff0c;是指通过集群应用、网络技术或分布式文件系统等功能&#xff0c;将网络中大量各种不同类型的存储设备通过应用软件集合起来协…

UDP消息发送

package com.wuming.lesson03;import java.net.DatagramPacket; import java.net.DatagramSocket; import java.net.SocketException;//还是要等待客户端的连接 public class UdpServerDemo01 {public static void main(String[] args) throws Exception {//1.开放端口Datagram…

C/C++ 余弦函数 cos - C语言零基础入门教程

目录 一.cos 函数简介二.cos 函数实战三.猜你喜欢 零基础 C/C 学习路线推荐 : C/C 学习目录 >> C 语言基础入门 零基础 C/C 学习路线推荐 : C/C 学习目录 >> C 面向对象 零基础 C/C 学习路线推荐 : C/C 学习目录 >> C 设计模式 零基础 C/C 学习路线推荐 : C…

云重磅|中西合璧 联想凌拓瓜熟蒂落;5G实锤 华为推出首部5G折叠手机;​IBM打造Kubernetes无处不在”的模式...

戳蓝字“CSDN云计算”关注我们哦&#xff01;嗨&#xff0c;大家好&#xff0c;重磅君带来的【云重磅】特别栏目&#xff0c;如期而至&#xff0c;每周二第一时间为大家带来重磅新闻。把握技术风向标&#xff0c;了解行业应用与实践&#xff0c;就交给我重磅君吧&#xff01;重…

C/C++ 正弦函数 sin - C语言零基础入门教程

目录 一.sin 函数简介二.sin 函数实战三.猜你喜欢 零基础 C/C 学习路线推荐 : C/C 学习目录 >> C 语言基础入门 零基础 C/C 学习路线推荐 : C/C 学习目录 >> C 面向对象 零基础 C/C 学习路线推荐 : C/C 学习目录 >> C 设计模式 零基础 C/C 学习路线推荐 : C…

云计算精华问答 | 边缘计算、雾计算、霾计算,它们究竟是什么?

戳蓝字“CSDN云计算”关注我们哦&#xff01;物联网对于数据的处理能力要求很高&#xff0c;怎么能够从庞大的数据海中挖掘一些有价值的信息对于物联网的发展至关重要&#xff0c;因此云计算&#xff0c;雾计算&#xff0c;边缘计算等等都将发挥其左右。今天&#xff0c;就让我…