《C程序设计语言》笔记 (十六) 参考手册8
字符类别测试 <ctype.h>
头文件<ctype.h>声明了一些测试字符的函数 每个函数的参数均为int类型,参数值必须是EOF或unsigned char类型表示的字符 函数的返回值int类型 如果参数满足指定的条件则函数返回非0,否则返回0 isalnum(c);//函数isalpha(c) 或 isdigit(c) 为真 isalpha(c);//isupper(c)或islower(c)为真 iscntrl(c);// 是否控制字符 isdigit(c);//是否十进制数字 isgraph(c);//是否除空格外的可打印字符 islower(c);//小写字母 isprint(c);//包括空格的可打印字符 ispunct(c);// 除空格 字符 数字外的可打印字符 isspace(c);// 空格 换页符 换行符 回车符 制表符 isupper(c); //大写字母 isxdigit(c);//十六进制数字
int tolower(c);//将c转换外小写字母 int toupper(c);//转换外大写
字符串函数<string.h>
头文件<string.h> 中定义了两组字符串函数 第一组函数名以str开头 第二组函数名以mem开头 除函数memmove外,其他函数都没有定义重叠对象间的复制行为 比较函数将把参数作为unsigned char类型的数组看待
在下表中,变量s和t的类型为char *; cs和ct的类型为 const char*; n的类型我size_t c的类型为int(将被转换为char类型);
char *strcpy(s,ct); //将字符串ct(包括'\0')复制到字符串s中并返回s char *strncpy(s,ct,n);//将字符串ct中最多n个字符复制到字符串s中,并返回s,如果少于n个,以'\0' 填充 char *strcat(s,ct);//将字符串ct连接到s的尾部,并返回s char *strncat(s,ct,n);// int strcmp(cs,ct); ;//字符串比较 cs<ct 返回负数 cs==ct 返回0 cs>ct 返回正数 int strncmp(cs,ct,n); char *strchr(cs,c);//返回指向字符c在字符串cs第一次出现的位置的指针 如果不包含c 返回NULL char *strrchr(cs,c);//同上,从后往前 size_t strspn(cs,ct);//返回字符串cs包含ct中的字符的前缀的长度 size_t strcspn(cs,ct);// char *strpbrk(cs,ct);//返回一个指针,指向字符串ct中人任意字符第一次出现在字符串cs中的位置,如果没有返回NULL char *strstr(cs,ct);//返回一个指针指向字符串ct第一次出现在字符串cs中的位置 size_t strlen(cs);//返回字符串的长度 char *strerror(n);//返回一个指针,指向与错误编号n对应的错误信息字符串 char *strtok(s,ct);//strtok函数在s中搜索ct中的界定记号 以mem开头的函数按照字符数组的方式操作对象 主要目的是提供一个高效的函数接口 void *memcpy(s,ct,n);//将字符串ct中的n个字符复制的s中,返回s
数学函数<math.h>
实用函数<stdlib.h>
诊断<assert.h>
可变参数表<stdarg.h>
非局部跳转<setjmp.h>
信号<signal.h>
日期与时间函数<time.h>
与具体实现相关的限制<limits.h> 和<float.h >