C++ 宽字符28 Aug 2024 | 5 分钟阅读 引言宽字符与 char 数据类型类似,但 宽字符占用两倍空间,因此可以容纳更大的值。char 的 256 个可能值对应于 ASCII 表的条目。相反,宽字符可以接受多达 65536 个值,这些值是 UNICODE 值。UNICODE 是一个相对较新的全球标准,它支持几乎所有语言和常用符号的字符编码。 宽字符的类型是 wchar_t,就像 char 是字符常量的类型一样。根据所使用的编译器,此 数据类型 的大小可以是 2 或 4 字节。日语是使用 wchar_t 数据类型的国际语言的一个常见示例。 下面显示了在普通 C++ 中使用 wchar_t 的示例输出 Wide character value:: 67 Size of the wide char is:: 4 说明 宽字符字面量和 宽字符字符串 字面量以 字母 L 为前缀,这会通知编译器 char 或 string 是 宽字符类型。 使用 宽字符类型时,在 扫描 (wcin) 和 打印 (wcout) 等操作中会 加前缀 w。 宽字符类型的数组或字符串宽字符类型数组字符串也是可能的,就像 char 类型数组字符串一样。以下是 C++ 中宽字符类型数组字符串的示例 示例 输出 JavaTpoint JavaTpoint 宽字符数组需要两倍的内存来编码每个字符,但输出保持不变。 宽字符数组字符串的函数头文件 cwchar 包含大多数宽字符数组字符串函数的定义。 wcslen()它返回 宽字符串的长度。它相当于 Strlen 的宽字符。 语法 下面提供了一个简单的 C++ 实现,演示了如何确定宽字符数组字符串的长度。 输出 The length of 'JavaTpoint' is 10 wcscpy()wcscpy() 指的是 宽字符字符串复制。strDestination 指向的宽字符数组接收由 strSource 指向的 宽字符字符串。这是 Strcpy 的宽字符等效项。 语法 示例 以下是使用 wcscpy 的简单 C++ 实现 输出 Original = javatpoint Copy = javatpoint wcscat()wcscat() 指的是 宽字符字符串连接。它将 strSource 中的宽字符串副本 添加 到 strDestination 中的宽字符串。它与 strcat 的宽字符等效。 语法 示例 以下是使用 wcscat 的简单 C++ 实现 输出 Concatenated wide string is = JavaTpoint is for JTP wcscmp()此函数称为 宽字符字符串比较()。如果 wcs1 和 wcs2 相等,则返回 0;如果 wcs1 中不匹配的 第一个宽字符 的值高于 wcs2,则返回大于零的值。如果 wcs1 中不匹配的第一个宽字符的值低于 wcs2,它也会返回小于零的值。它是 Strcmp 的宽字符对应项。 语法 constwchar_t* wcs1, constwchar_t* wcs2, int wcscmp; 示例 以下是使用 wcscmp 的简单 C++ 实现 输出 Compare1 = 1 Compare2 = 0 Compare3 = -1 wcstok()此函数的正式名称是 宽字符字符串令牌化()。 语法 识别由 str 指向的带空终止符的宽字符串中的下一个令牌。由 delim 指向的带 空终止符 的宽字符串用于识别 分隔符。wcstok 使用 ptr 指针将其 内部状态 存储在 wchar_t* 类型的对象中。与 strtok() 相比,它使用宽字符。 示例 下面提供的 C++ 实现演示了 wcstok 的使用 输出 JavaTpoint is for JTP wcsncpy()它将 源的第一个 n 个宽字符复制到目标。如果在复制 n 个字符之前发现源宽字符串的末尾,则目标将用额外的 空宽字符 填充,直至总共 n 个字符。它等同于 strncpy() 的宽字符。 语法 wchar_t* wcsncpy(wchar_t* destination, constwchar_t* source, size_t n); 示例 以下是使用 wcsncpy 的 C++ 实现: 输出 Java T Point Java T Point Java ;??????? wcsstr()语法 它返回 wcs1 中 wcs2 第一次出现的指针。如果 wcs2 不是 wcs1 的组成部分,则返回 空指针。这里,要扫描的 宽字符字符串 由 wcs1 表示,要匹配的序列在 wcs2 中找到。它等同于 strstr() 的宽字符。 示例 下面提供了一个简单的 C++ 实现,演示了如何使用 wcsstr: 输出 Java T point 下一主题C++ 中的位运算符 |
在不断发展的金融和投资领域,算法问题求解起着至关重要的作用。在交易员和投资者遇到的挑战中,股票跨度问题(Stock Span Problem)脱颖而出,它要求根据给定的一系列股票价格来计算股票跨度。这篇博文旨在...
阅读 4 分钟
活动选择是计算机科学中的一个经典问题,可以用贪心算法解决。在此问题中,我们给定一组要在给定时间段内执行的活动,每个活动都有开始时间和结束时间。...
阅读 3 分钟
简介:Popcount 是计算机编程中广泛使用的操作,它计算给定数据结构中置位(值为 1 的位)的数量。在本文中,我们将讨论 C++ 中的 Popcount,C++ 是一种流行的编程语言,用于开发各种...
阅读 4 分钟
在 C++ 11 中,包含了一个名为 constexpr 的特性。基本概念是通过在编译时而不是运行时执行计算来提高软件性能。应该注意的是,用户在开发人员完成编译和最终确定后,通常会多次运行软件……
阅读 4 分钟
用于将宽字符转换为等效的单字节字符表示。它是
阅读 2 分钟
在本文中,我们将讨论 C++ 中的迭代器失效及其示例。迭代器失效是 C++ 中用来描述迭代器(一种用于遍历向量、列表或映射等容器的强大工具)无效或无用的情况的术语...
阅读 4 分钟
?C++ ios 基类包含用于格式化 cout 对象的方面,这些对象显示各种格式化特征。使用类范围的静态常量,以下 ios 基类可以样式化 cout 对象以显示尾随小数点,在正整数前添加 +,以及各种其他格式化功能。静态常量...
阅读 3 分钟
在处理 C++ 编程时,格式化输出在提高代码可读性和用户友好性方面起着至关重要的作用。在控制输出格式的可用工具中,setf() 函数是一项有价值的功能。这篇博文将深入探讨 setf() 函数...
阅读 3 分钟
井字游戏是一款简单的两人游戏,如果双方都尽力玩,结果总是平局。该游戏也称为 Xs 和 Os 或零和叉。可以使用计算机或其他设备玩井字游戏……
阅读 15 分钟
C 标准库包含 vswprintf() 函数,它经常在 C 和 C++ 编程中用于格式化宽字符字符串。尽管它使用宽字符(wchar_t)而不是常规字符(char),但它与 vsprintf() 函数相似。语法:vswprintf() 的通用语法如下:#include...
阅读 2 分钟
我们请求您订阅我们的新闻通讯以获取最新更新。
我们提供所有技术(如 Java 教程、Android、Java 框架)的教程和面试问题
G-13, 2nd Floor, Sec-3, Noida, UP, 201301, India