宽字符处理函数和窄字符处理函数对应表

字符分类:  宽字符函数普通C函数描述
iswalnum()  isalnum() 测试字符是否为数字或字母
iswalpha()  isalpha() 测试字符是否是字母
iswcntrl()  iscntrl() 测试字符是否是控制符
iswdigit()  isdigit() 测试字符是否为数字
iswgraph()  isgraph() 测试字符是否是可见字符
iswlower()  islower() 测试字符是否是小写字符
iswprint()  isprint() 测试字符是否是可打印字符
iswpunct()  ispunct() 测试字符是否是标点符号
iswspace()  isspace() 测试字符是否是空白符号
iswupper()  isupper() 测试字符是否是大写字符
iswxdigit()  isxdigit()测试字符是否是十六进制的数字

大小写转换:  
宽字符函数 普通C函数描述
towlower()  tolower() 把字符转换为小写
towupper()  toupper() 把字符转换为大写

字符比较:  宽字符函数普通C函数描述
wcscoll()  strcoll() 比较字符串

日期和时间转换:
宽字符函数描述
strftime()  根据指定的字符串格式和locale设置格式化日期和时间
wcsftime()  根据指定的字符串格式和locale设置格式化日期和时间, 并返回宽字符串
strptime()  根据指定格式把字符串转换为时间值, 是strftime的反过程

打印和扫描字符串:
宽字符函数描述
fprintf()/fwprintf()  使用vararg参量的格式化输出
fscanf()/fwprintf()   格式化读入
printf()    使用vararg参量的格式化输出到标准输出
scanf()    从标准输入的格式化读入
sprintf()/swprintf()  根据vararg参量表格式化成字符串
sscanf()    以字符串作格式化读入
vfprintf()/vfwprintf()  使用stdarg参量表格式化输出到文件
vprintf()    使用stdarg参量表格式化输出到标准输出
vsprintf()/vswprintf()  格式化stdarg参量表并写到字符串

数字转换:
宽字符函数 普通C函数描述
wcstod()  strtod()  把宽字符的初始部分转换为双精度浮点数
wcstol()  strtol()  把宽字符的初始部分转换为长整数
wcstoul()  strtoul() 把宽字符的初始部分转换为无符号长整数

多字节字符和宽字符转换及操作:
宽字符函数描述
mblen()   根据locale的设置确定字符的字节数
mbstowcs()   把多字节字符串转换为宽字符串
mbtowc()/btowc() 把多字节字符转换为宽字符
wcstombs()   把宽字符串转换为多字节字符串
wctomb()/wctob()  把宽字符转换为多字节字符

输入和输出:
宽字符函数 普通C函数描述
fgetwc()  fgetc()  从流中读入一个字符并转换为宽字符
fgetws()  fgets()  从流中读入一个字符串并转换为宽字符串
fputwc()  fputc()  把宽字符转换为多字节字符并且输出到标准输出
fputws()  fputs()  把宽字符串转换为多字节字符并且输出到标准输出串
getwc()  getc()  从标准输入中读取字符, 并且转换为宽字符
getwchar()  getchar()  从标准输入中读取字符, 并且转换为宽字符
None   gets()  使用fgetws()
putwc()  putc()  把宽字符转换成多字节字符并且写到标准输出
putwchar()  putchar()  把宽字符转换成多字节字符并且写到标准输出
None   puts()  使用fputws()
ungetwc()  ungetc()  把一个宽字符放回到输入流中

字符串操作:
宽字符函数  普通C函数描述
wcscat()   strcat()  把一个字符串接到另一个字符串的尾部
wcsncat()   strncat()  类似于wcscat(), 而且指定粘接字符串的粘接长度.
wcschr()   strchr()  查找子字符串的第一个位置
wcsrchr()   strrchr()  从尾部开始查找子字符串出现的第一个位置
wcspbrk()   strpbrk()  从一字符字符串中查找另一字符串中任何一个字符第一次出现的位置
wcswcs()/wcsstr()  strchr()  在一字符串中查找另一字符串第一次出现的位置
wcscspn()   strcspn()  返回不包含第二个字符串的的初始数目
wcsspn()   strspn()  返回包含第二个字符串的初始数目
wcscpy()   strcpy()  拷贝字符串
wcsncpy()   strncpy()  类似于wcscpy(), 同时指定拷贝的数目
wcscmp()   strcmp()  比较两个宽字符串
wcsncmp()   strncmp()  类似于wcscmp(), 还要指定比较字符字符串的数目
wcslen()   strlen()  获得宽字符串的数目
wcstok()   strtok()  根据标示符把宽字符串分解成一系列字符串
wcswidth()   None   获得宽字符串的宽度
wcwidth()   None   获得宽字符的宽度

另外还有对应于memory操作的 wmemcpy(), wmemchr(), wmemcmp(), wmemmove(), wmemset(). 

时间: 2024-12-02 21:48:16

宽字符处理函数和窄字符处理函数对应表的相关文章

PHP nl2br函数 将换行字符转成 <br>_php技巧

将换行字符转成 <br> . 语法 : string nl2br(string string); 返回值 : 字符串 函数种类 : 资料处理 内容说明 本函数将换行字符转换成 HTML 换行的 <br> 指令. 复制代码 代码如下: <?php $str=' 第一行 第二行 第三行 '; echo $str;// 没有替换的 echo("<br>-----------------<br>"); echo nl2br($str);//

收集一些常用的正则表达式(匹配中文字符、匹配双字节字符、匹配HTML标记、匹配空行 and so on~~~)_正则表达式

正则表达式用于字符串处理,表单验证等场合,实用高效,但用到时总是不太把握,以致往往要上网查一番.我将一些常用的表达式收藏在这里,作备忘之用.本贴随时会更新,请持续关注本站. 匹配中文字符的正则表达式: [\u4e00-\u9fa5] 匹配双字节字符(包括汉字在内):[^\x00-\xff] 应用:计算字符串的长度(一个双字节字符长度计2,ASCII字符计1) String.prototype.len=function(){return this.replace([^\x00-\xff]/g,"a

C语言判断字符是否为可打印字符的方法_C 语言

C语言isprint()函数:判断字符是否为可打印字符头文件: #include <ctype.h> isprint() 函数用来判断一个字符是否为打印字符,其原型为: int isprint(int c); [参数]c 为需要被检测的字符. [返回值]如果 c 为可打印字符,将返回非 0 值,否则返回 0. 可打印字符的ASCII码值大于 0x1f(除了0x7f(DEL)),这些字符可以显示到屏幕上,让我们看到:不能显示在屏幕上,我们看不到的,叫控制字符,ASCII码值为 0x00 ~ 0x

c语言先用scanf初始化了一个字符指针,之后再定义字符数组出现内存不可读,在线等,急求

问题描述 c语言先用scanf初始化了一个字符指针,之后再定义字符数组出现内存不可读,在线等,急求 #include #include int main() { char*s; scanf("%s",s); //printf("%sn",s); //int n = strlen(s); //printf("%dn",n); char ret[56]; return 0; } 解决方案 s只是指针变量,没有分配内存 char*s; s = mall

把字符串中的任意连续字符换成一个对应字符

<?php //1,把字符串中的任意空格换成一个 $str1 = 'A B C '; echo '<xmp>'; echo '1:'; echo preg_replace ("/\s+/", ' ', $str1); echo '</xmp>'; //2,把字符串中的任意连续字符 M 换成一个 M echo '2: '; $str1 = 'AMMMBMMMMCMM '; echo preg_replace ("/M+/", 'M', $

c# 排列 组合-C# 排列 组合问题,a,b两个字符要生成 n个字符长度的所有排列

问题描述 C# 排列 组合问题,a,b两个字符要生成 n个字符长度的所有排列 请教 两个字符 a,b 生成 n个字符长度的 排列 怎么实现 ,要得到所有的排列 比如 n=5 ,n可以自己定义 比如 "ababa" , aabba, bbaab,........ 用代码怎么实现,得到n长度下的所有排列 解决方案 using System; using System.Collections.Generic; using System.Linq; public class Test { st

c++-编写程序,输入任意一个含有空格的字符串(至少10个字符),删除指定字符后输出该字符串。

问题描述 编写程序,输入任意一个含有空格的字符串(至少10个字符),删除指定字符后输出该字符串. 编写程序,输入任意一个含有空格的字符串(至少10个字符),删除指定字符后输出该字符串.例如,输入"jiangsu123"和删除位置5,则输出"jiansu123". 解决方案 #include <iostream> #include <string> using namespace std; int main() { char s1[100];

java-如何在JAVA中,在一个位置长度字符串中,取某固定字符后固定位数的字符?

问题描述 解决方案 先用string.split("固定字符"):分割出来固定字符后的字符串 再用 string.substring("开始位置","结束位置")截取固定位数 解决方案二: 正则表达式,比如 tdose:(0.d+) 解决方案三: 首先获取固定字符第一次出现的位置,然后再截取该位置到该位置+固定位置的字符串 1.int a = s1.indexOf("固定字符"): 2. s1.substring(a,a+固定

获取字符中中文首字字符_应用技巧

复制代码 代码如下: <% '获取字符中中文首字字符     '返回:A-Z ;123 ; ###     Public Function GetSpellChar(str)         Dim tmp         GetSpellChar = "@"         tmp = 65536 + Asc(str)         If (tmp >= 45217 And tmp <= 45252) Or (tmp = 65601) Or (tmp = 6563