- C 标准库
- C 库 - 首页
- C 库 - <assert.h>
- C 库 - <complex.h>
- C 库 - <ctype.h>
- C 库 - <errno.h>
- C 库 - <fenv.h>
- C 库 - <float.h>
- C 库 - <inttypes.h>
- C 库 - <iso646.h>
- C 库 - <limits.h>
- C 库 - <locale.h>
- C 库 - <math.h>
- C 库 - <setjmp.h>
- C 库 - <signal.h>
- C 库 - <stdalign.h>
- C 库 - <stdarg.h>
- C 库 - <stdbool.h>
- C 库 - <stddef.h>
- C 库 - <stdio.h>
- C 库 - <stdlib.h>
- C 库 - <string.h>
- C 库 - <tgmath.h>
- C 库 - <time.h>
- C 库 - <wctype.h>
- C 标准库资源
- C 库 - 快速指南
- C 库 - 有用资源
- C 库 - 讨论
C 库 - wctrans() 函数
C 的wctrans库 wctrans() 函数用于获取 wctrans_t 类型的描述符 (desc)。此描述符可与“iswctype”函数一起使用,以检查给定的宽字符是否属于特定的字符类别。
此函数可以保存以下“str”值:
- toupper - 标识 towupper 使用的映射
- tolower - 标识 towlower 使用的映射
语法
以下是 wctrans() 函数的 C 库语法:
wctrans_t wctrans( const char* str )
参数
此函数接受一个参数:
-
str - 这是一个指向类型为“const char*”的字符串的指针,该字符串指定要获取其描述符的字符类别的名称。
返回值
此函数返回一个 wctrans_t 类型的对象,该对象可与towctrans()函数一起使用以映射宽字符。
示例 1
以下是用 C 编写的基本程序,用于演示使用 wctrans() 获取描述符。
#include <wchar.h> #include <wctype.h> #include <stdio.h> int main() { // Wide character to check wchar_t wc = L'A'; // Descriptor for lowercase characters wctrans_t desc = wctrans("tolower"); wprintf(L"Original character: %lc\n", wc); if (iswctype(wc, wctype("upper"))) { wc = towctrans(wc, desc); wprintf(L"Lowercase: %lc\n", wc); } else { wprintf(L"Not an uppercase character.\n"); } return 0; }
输出
以下是输出:
Original character: A Lowercase: a
示例 2
让我们再创建一个示例,我们使用 wctrans() 函数获取转换描述符,然后使用“towctrans”将小写字符转换为大写,反之亦然。
#include <wctype.h> #include <wchar.h> #include <stdio.h> #include <wctype.h> int main() { wchar_t string[] = L"tUTORIALSPOINT.COM"; wprintf(L"Original string: %ls \n", string); wctype_t lower= wctype("lower"); wctype_t upper = wctype("upper"); for (int i = 0; i < wcslen(string); i++) { // if charcter is in lower transform to upper if (iswctype(string[i], lower)) string[i] = towctrans(string[i], wctrans("toupper")); // if charcter is in upper transform to lower else if (iswctype(string[i], upper)) string[i] = towctrans(string[i], wctrans("tolower")); } wprintf(L"After transformation: %ls", string); return 0; }
输出
以下是输出:
Original string: tUTORIALSPOINT.COM After transformation: Tutorialspoint.com
示例 3
以下示例为“toupper”创建了一个描述符 (desc)。然后我们在 wctrans() 中使用此 desc 进行转换为大写。
#include <wchar.h> #include <wctype.h> #include <stdio.h> int main() { // Wide character string to check wchar_t str[] = L"tutorialspoint"; // Descriptor for uppercase characters wctrans_t desc = wctrans("toupper"); // Loop through each character in the string for (size_t i = 0; str[i] != L'\0'; ++i) { // Check if the character is alphanumeric if (iswctype(str[i], wctype("lower"))) { str[i] = towctrans(str[i], desc); wprintf(L"%lc ", str[i]); } else { wprintf(L"Not converted to uppercase"); } } return 0; }
输出
以下是输出:
T U T O R I A L S P O I N T
c_library_wctype_h.htm
广告