C++ wcspbrk() 函数

2025 年 2 月 11 日 | 阅读 4 分钟

在本文中,我们将讨论 C++ 中的 wcspbrk() 函数及其语法、参数和示例。

C++ 中的 wcspbrk() 函数是什么?

wcspbrk() 是一个内置的 C/C++ 库函数。它通过在另一个宽字符串中搜索来查找该宽字符串中存在的宽字符集。此函数在 <cwchar> 文件中可用。

此函数接受两个参数。第一个参数是目标,第二个参数是结果。我们以空终止宽字符串作为目标进行查找。我们使用带有空终止符的宽字符串来存储字符。它返回两个值。

语法

它具有以下语法:

参数

函数有两个参数,模板如下所示。

  • dests: 该函数定义由指针指向的宽字符串,该字符串将使用空终止符进行搜索。
  • srcs: 它指定一个指向复合的指针,该复合以宽符号终止,由所有要查找的字符组成。

返回值

它包含两个值。它们如下:

  • 如果输出和输入中存在一个或多个公共字符,则该函数返回指向目标中第一个也在源中的宽字符的指针。
  • 如果源和目标中没有宽字符,则仅分配一个空指针。

示例 1

让我们举一个例子来说明 C++ 中的 wcspbrk() 函数。

输出

 
The First occurrence in the string: "Programming" is found at the position 2   

说明

  • 声明了两个宽字符数组:srcStr[]destStr[]。 它们是源字符串和目标字符串。字符串文字前面的 L 前缀表示它们是宽字符字符串。
  • 变量 st 是指向宽字符数据类型 (wchar_t*) 的指针。它将被保存为 srcStr 中第一个字符在 destStr 中的位置。
  • wcspbrk() 函数将 destStr 和 srcStr 作为其参数。此函数在 destStr 中搜索 srcStr 中任何字符的第一个位置,并返回该字符的地址。
  • 如果交集中没有字符,则应返回空指针。如果 wcspbrk() 确定 srcStr 中的搜索已完成并且在 destStr 中找到,则返回类型为 NULL 或非 NULL。它将索引作为输出返回。
  • 输出通过 wcout 显示,它是 cout 的宽字符等效项。它以字符的名称和位置开始描述字符。
  • wcspbrk() 的空指针返回值得出结论,即 srcStr 中没有字符在 destStr 中。程序生成一条消息,通知在这种情况下该人未出现。

示例 2

让我们举一个例子来说明 C++ 中的 wcspbrk() 函数。

输出

 
There is no common wide character   

说明

  • 此代码提供了 C++ 中 wcspbrk() 函数的示例。它通过将 srcStrdestStr 进行比较来查找字符的第一个匹配项。将在字符串中搜索与 destStr 字符串对应的字符。找到匹配项后,将计算并显示其关联的字符位置。如果没有匹配项,则会在屏幕上显示消息。
  • 该程序不仅将使用 <cwchar> 函数进行字符串的通用字符表示,还将使用 <iostream> 库进行输入/输出。此操作的结果通过调用 wcspbrk(character, pointers) 返回;然后通过指针操作计算位置。

结论

总之,C++ wcspbrk() 函数作用于字符的二维数组;因此,输入的字符数组也由函数返回。它生成一个宽字符类型,该类型返回宽字符字符串中字符集第一个匹配项的索引。它与 C 语言 strpbrk() 函数的功能相同,但更灵活,因为它适用于代码点。该函数接受两个参数。目标位置应具有宽字符串参数,其中将进行所需的搜索,源区域应是带有要搜索字符的宽字符串。

该函数返回从上到下第一个出现的单序列指针。如果没有对应的字符,它将指向一个空行。

要使用 wcspbrk() 函数,请声明头文件 <cwchar> 作为 wcout 流,它将输出宽字符。它依靠宽字符来查找 C++ 代码中特定字符的存储位置。