相关函数 isalpha,isdigit,islower,isupper
表头文件 #include 定义函数 int isalnum (int c) 函数说明 检查参数c是否为英文字母或阿拉伯数字,在标准c中相当于使用“isalpha(c) || isdigit(c)”做测试。 (2):isalpha (测试字符是否为英文字母) 相关函数 isalnum,islower,isupper 表头文件 #include 定义函数 int isalpha (int c) 函数说明 检查参数c是否为英文字母,在标准c中相当于使用“isupper(c)||islower(c)”做测试。 (3):isascii(测试字符是否为ASCII 码字符) 相关函数 iscntrl 表头文件 #include 定义函数 int isascii(int c); 函数说明 检查参数c是否为ASCII码字符,也就是判断c的范围是否在0到127之间。 (4):iscntrl(测试字符是否为ASCII 码的控制字符) 相关函数 isascii 表头文件 #include 定义函数 int iscntrl(int c); 函数说明 检查参数c是否为ASCII控制码,也就是判断c的范围是否在0到30之间。 (5):isdigit(测试字符是否为阿拉伯数字) 相关函数 isxdigit 表头文件 #include 定义函数 int isdigit(int c) 函数说明 检查参数c是否为阿拉伯数字0到9。 (6):isgraphis(测试字符是否为可打印字符) 相关函数 isprint 表头文件 #include 定义函数 int isgraph (int c) 函数说明 检查参数c是否为可打印字符,若c所对映的ASCII码可打印,且非空格字符则返回TRUE。 (7):islower(测试字符是否为小写字母) 相关函数 isalpha,isupper 表头文件 #include 定义函数 int islower(int c) 函数说明 检查参数c是否为小写英文字母。 返回值 若参数c为小写英文字母,则返回TRUE,否则返回NULL(0)。 (8): isprint(测试字符是(否为可打印字符) 相关函数 isgraph 表头文件 #include 定义函数 int isprint(int c); 函数说明 检查参数c是否为可打印字符,若c所对映的ASCII码可打印,其中包含空格字符,则返回TRUE。 (9):isspace(测试字符是否为空格字符) 相关函数 isgraph 表头文件 #include 定义函数 int isspace(int c) 函数说明 检查参数c是否为空格字符,也就是判断是否为空格('')、定位字符('\')、CR('\\r')、换行('\\n')、垂直定位字符('\\v')或翻页('\\f')的情况。 (10):ispunct(测试字符是否为标点符号或特殊符号) 相关函数 isspace,isdigit,isalpha 表头文件 #inlude 定义函数 int ispunct(int c) 函数说明 检查参数c是否为标点符号或特殊符号。返回TRUE也就是代表参数c为非空格、非数字和非英文字母。 返回值 v若参数c为标点符号或特殊符号,则返回TRUE,否则返回NULL(0)。 (11):isupper(测试字符是否为大写英文字母) 相关函数 isalpha,islower 表头文件 #include 定义函数 int isupper(int c) 函数说明 检查参数c是否为大写英文字母。 (12):isxdigit(测试字符是否为16进制数字) 相关函数 isalnum,isdigit 表头文件 #include 定义函数 int isxdigit (int c) 函数说明 检查参数c是否为16进制数字,只要c为下列其中一个情况则返回TRUE。16进制数字:0123456789ABCDEF。 (13):atof(将字符串转换成浮点型数) 相关函数 atoi,atol,strtod,strtol,strtoul 表头文件 #include 定义函数 double atof(const char *nptr); 函数说明 atof()会扫描参数nptr字符串,跳过前面的空格字符,直到遇上数字或正负符号才开始做转换,而再遇到非数字或字符串结束时('\\0')才结束转换,并将结果返回。参数nptr字符串可包含正负号、小数点或E(e)来表示指数部分,如123.456或123e-2。 (14):atoi(将字符串转换成整型数) 相关函数 atof,atol,atrtod,strtol,strtoul 表头文件 #include 定义函数 int atoi(const char *nptr); 函数说明 atoi()会扫描参数nptr字符串,跳过前面的空格字符,直到遇上数字或正负符号才开始做转换,而再遇到非数字或字符串结束时('\\0')才结束转换,并将结果返回。 (15):atol(将字符串转换成长整型数) 相关函数 atof,atoi,strtod,strtol,strtoul 表头文件 #include 定义函数 long atol(const char *nptr); 函数说明 atol()会扫描参数nptr字符串,跳过前面的空格字符,直到遇上数字或正负符号才开始做转换,而再遇到非数字或字符串结束时('\\0')才结束转换,并将结果返回。 (16):gcvt(将浮点型数转换为字符串,取四舍五入) 相关函数 ecvt,fcvt,sprintf 表头文件 #include 定义函数 char *gcvt(double number,size_t ndigits,char *buf); 函数说明 gcvt()用来将参数number转换成ASCII码字符串,参数ndigits表示显示的位数。gcvt()与ecvt()和fcvt()不同的地方在于,gcvt()所转换后的字符串包含小数点或正负符号。若转换成功,转换后的字符串会放在参数buf指针所指的空间。 (17):strtod(将字符串转换成浮点数) 相关函数 atoi,atol,strtod,strtol,strtoul 表头文件 #include 定义函数 double strtod(const char *nptr,char **endptr); 函数说明 strtod()会扫描参数nptr字符串,跳过前面的空格字符,直到遇上数字或正负符号才开始做转换,到出现非数字或字符串结束时('\\0')才结束转换,并将结果返回。若endptr不为NULL,则会将遇到不合条件而终止的nptr中的字符指针由endptr传回。参数nptr字符串可包含正负号、小数点或E(e)来表示指数部分。如123.456或123e-2。 范例 /*将字符串a,b,c 分别采用10,2,16 进制转换成数字*/ #include char a[]=”1000000000”; char b[]=”1000000000”; char c[]=”ffff”; printf(“a=%d\\n”,strtod(a,NULL,10)); printf(“b=%d\\n”,strtod(b,NULL,2)); printf(“c=%d\\n”,strtod(c,NULL,16)); } (18):strtol(将字符串转换成长整型数) 相关函数 atof,atoi,atol,strtod,strtoul 表头文件 #include 定义函数 long int strtol(const char *nptr,char **endptr,int base); 函数说明 strtol()会将参数nptr字符串根据参数base来转换成长整型数。参数base范围从2至36,或0。参数base代表采用的进制方式,如base值为10则采用10进制,若base值为16则采用16进制等。当base值为0时则是采用10进制做转换,但遇到如'0x'前置字符则会使用16进制做转换。一开始strtol()会扫描参数nptr字符串,跳过前面的空格字符,直到遇上数字或正负符号才开始做转换,再遇到非数字或字符串结束时('\\0')结束转换,并将结果返回。若参数endptr不为NULL,则会将遇到不合条件而终止的nptr中的字符指针由endptr返回。 返回值 返回转换后的长整型数,否则返回ERANGE并将错误代码存入errno中。 (19):strtoul(将字符串转换成无符号长整型数) 相关函数 atof,atoi,atol,strtod,strtol 表头文件 #include 定义函数 unsigned long int strtoul(const char *nptr,char **endptr,int base); 函数说明 strtoul()会将参数nptr字符串根据参数base来转换成无符号的长整型数。参数base范围从2至36,或0。参数base代表采用的进制方式,如base值为10则采用10进制,若base值为16则采用16进制数等。当base值为0时则是采用10进制做转换,但遇到如'0x'前置字符则会使用16进制做转换。一开始strtoul()会扫描参数nptr字符串,跳过前面的空格字符串,直到遇上数字或正负符号才开始做转换,再遇到非数字或字符串结束时('\\0')结束转换,并将结果返回。若参数endptr不为NULL,则会将遇到不合条件而终止的nptr中的字符指针由endptr返回。 (20):toascii(将整型数转换成合法的ASCII 码字符) 相关函数 isascii,toupper,tolower 表头文件 #include 定义函数 int toascii(int c) 函数说明 toascii()会将参数c转换成7位的unsigned char值,第八位则会被清除,此字符即会被转成ASCII码字符。 (21):tolower(将大写字母转换成小写字母) 相关函数 isalpha,toupper 表头文件 #include 定义函数 int tolower(int c); 函数说明 若参数c为大写字母则将该对应的小写字母返回。 返回值 返回转换后的小写字母,若不须转换则将参数c值返回。 (22):toupper(将小写字母转换成大写字母) 相关函数 isalpha,tolower 表头文件 #include 定义函数 int toupper(int c); 函数说明 若参数c为小写字母则将该对映的大写字母返回。 返回值 返回转换后的大写字母,若不须转换则将参数c值返回。 (23):calloc(配置内存空间) 相关函数 malloc,free,realloc,brk 表头文件 #include 定义函数 void *calloc(size_t nmemb,size_t size); 函数说明 calloc()用来配置nmemb个相邻的内存单位,每一单位的大小为size,并返回指向第一个元素的指针。这和使用下列的方式效果相同:malloc(nmemb*size);不过,在利用calloc()配置内存时会将内存内容初始化为0。 (24):free(释放原先配置的内存) 相关函数 malloc,calloc,realloc,brk 表头文件 #include 定义函数 void free(void *ptr); 函数说明 参数ptr为指向先前由malloc()、calloc()或realloc()所返回的内存指针。调用free()后ptr所指的内存空间便会被收回。假若参数ptr所指的内存空间已被收回或是未知的内存地址,则调用free()可能会有无法预期的情况发生。若参数ptr为NULL,则free()不会有任何作用。 (25):getpagesize(取得内存分页大小) 相关函数 sbrk 表头文件 #include 定义函数 size_t getpagesize(void); 函数说明 返回一分页的大小,单位为字节(byte)。此为系统的分页大小,不一定会和硬件分页大小相同。 返回值 内存分页大小。附加说明在Intel x86 上其返回值应为4096bytes。 (26):malloc(配置内存空间) 相关函数 calloc,free,realloc,brk 表头文件 #include 定义函数 void * malloc(size_t size); 函数说明 malloc()用来配置内存空间,其大小由指定的size决定。 返回值 若配置成功则返回一指针,失败则返回NULL。 (27):asctime(将时间和日期以字符串格式表示) 相关函数 time,ctime,gmtime,localtime 表头文件 #include 定义函数 char * asctime(const struct tm * timeptr); 函数说明 asctime()将参数timeptr所指的tm结构中的信息转换成真实世界所使用的时间日期表示方法,然后将结果以字符串形态返回。此函数已经由时区转换成当地时间,字符串格式为:“Wed Jun 30 21:49:08 1993\\n” 返回值 若再调用相关的时间日期函数,此字符串可能会被破坏。此函数与ctime不同处在于传入的参数是不同的结构。 (28):ctime(将时间和日期以字符串格式表示) 相关函数 time,asctime,gmtime,localtime 表头文件 #include 定义函数 char *ctime(const time_t *timep); 函数说明 ctime()将参数timep所指的time_t结构中的信息转换成真实世界所使用的时间日期表示方法,然后将结果以字符串形态返回。此函数已经由时区转换成当地时间,字符串格式为“Wed Jun 30 21 :49 :08 1993\\n”。若再调用相关的时间日期函数,此字符串可能会被破坏。 (29):bcmp(比较内存内容) 相关函数 bcmp,strcasecmp,strcmp,strcoll,strncmp,strncasecmp 表头文件 #include 定义函数 int bcmp ( const void *s1,const void * s2,int n); 函数说明 bcmp()用来比较s1和s2所指的内存区间前n个字节,若参数n为0,则返回0。 返回值 若参数s1 和s2 所指的内存内容都完全相同则返回0 值,否则返回非零值。 (30):memccpy(拷贝内存内容) 相关函数 bcopy,memcpy,memmove,strcpy,strncpy 表头文件 #include 定义函数 void * memccpy(void *dest, const void * src, int c,size_t n); 函数说明 memccpy()用来拷贝src所指的内存内容前n个字节到dest所指的地址上。与memcpy()不同的是,memccpy()会在复制时检查参数c是否出现,若是则返回dest中值为c的下一个字节地址。 返回值 返回指向dest中值为c的下一个字节指针。返回值为0表示在src所指内存前n个字节中没有值为c的字节。 (31):memchr(在某一内存范围中查找一特定字符) 相关函数 index,rindex,strchr,strpbrk,strrchr,strsep,strspn,strstr 表头文件 #include 定义函数 void * memchr(const void *s,int c,size_t n); 函数说明 memchr()从头开始搜寻s所指的内存内容前n个字节,直到发现第一个值为c的字节,则返回指向该字节的指针。 返回值 如果找到指定的字节则返回该字节的指针,否则返回0。 (32):memcmp(比较内存内容) 相关函数 bcmp,strcasecmp,strcmp,strcoll,strncmp,strncasecmp 表头文件 #include 定义函数 int memcmp (const void *s1,const void *s2,size_t n); 函数说明 memcmp()用来比较s1和s2所指的内存区间前n个字符。字符串大小的比较是以ASCII码表上的顺序来决定,次顺序亦为字符的值。memcmp()首先将s1第一个字符值减去s2第一个字符的值,若差为0则再继续比较下个字符,若差值不为0则将差值返回。例如,字符串\"Ac\"和\"ba\"比较则会返回字符'A'(65)和'b'(98)的差值(-33)。 返回值 若参数s1和s2所指的内存内容都完全相同则返回0值。s1若大于s2则返回大于0的值。s1若小于s2则返回小于0的值。 (33):memcpy(拷贝内存内容) 相关函数 bcopy,memccpy,memcpy,memmove,strcpy,strncpy 表头文件 #include 定义函数 void * memcpy (void * dest ,const void *src, size_t n); 函数说明 memcpy()用来拷贝src所指的内存内容前n个字节到dest所指的内存地址上。与strcpy()不同的是,memcpy()会完整的复制n个字节,不会因为遇到字符串结束'\\0'而结束。 返回值 返回指向dest的指针。 (34):memmove(拷贝内存内容) 相关函数 bcopy,memccpy,memcpy,strcpy,strncpy 表头文件 #include 定义函数 void * memmove(void *dest,const void *src,size_t n); 函数说明 memmove()与memcpy()一样都是用来拷贝src所指的内存内容前n个字节到dest所指的地址上。不同的是,当src和dest所指的内存区域重叠时,memmove()仍然可以正确的处理,不过执行效率上会比使用memcpy()略慢些。 返回值 返回指向dest的指针。 (35):memset(将一段内存空间填入某值) 相关函数 bzero,swab 表头文件 #include 定义函数 void * memset (void *s ,int c, size_t n); 函数说明 memset()会将参数s所指的内存区域前n个字节以参数c填入,然后返回指向s的指针。在编写程序时,若需要将某一数组作初始化,memset()会相当方便。 返回值 返回指向s的指针。 (36):rindex(查找字符串中最后一个出现的指定字符) 相关函数 index,memchr,strchr,strrchr 表头文件 #include 定义函数 char * rindex( const char *s,int c); 函数说明 rindex()用来找出参数s字符串中最后一个出现的参数c地址,然后将该字符出现的地址返回。字符串结束字符(NULL)也视为字符串一部分。 返回值 如果找到指定的字符则返回该字符所在的地址,否则返回0。p=rindex(s,'5'); (37):strcmp(比较字符串) 相关函数 bcmp,memcmp,strcasecmp,strncasecmp,strcoll 表头文件 #include 定义函数 int strcmp(const char *s1,const char *s2); 函数说明 strcmp()用来比较参数s1和s2字符串。字符串大小的比较是以ASCII 码表上的顺序来决定,此顺序亦为字符的值。strcmp()首先将s1第一个字符值减去s2第一个字符值,若差值为0则再继续比较下个字符,若差值不为0则将差值返回。例如字符串\"Ac\"和\"ba\"比较则会返回字符\"A\"(65)和'b'(98)的差值(-33)。 返回值 若参数s1和s2字符串相同则返回0。s1若大于s2则返回大于0的值。s1若小于s2则返回小于0 的值。 (38):strcoll(采用目前区域的字符排列次序来比较字符串) 相关函数 strcmp,bcmp,memcmp,strcasecmp,strncasecmp 表头文件 #include 定义函数 int strcoll( const char *s1, const char *s2); 函数说明 strcoll()会依环境变量LC_COLLATE所指定的文字排列次序来比较s1和s2 字符串。 返回值 若参数s1和s2字符串相同则返回0。s1若大于s2则返回大于0的值。s1若 小于s2则返回小于0 的值 (39): strcpy(拷贝字符串) 相关函数 bcopy,memcpy,memccpy,memmove 表头文件 #include 定义函数 char *strcpy(char *dest,const char *src); 函数说明 strcpy()会将参数src字符串拷贝至参数dest所指的地址。 返回值 返回参数dest的字符串起始地址。 附加说明 如果参数dest所指的内存空间不够大,可能会造成缓冲溢出(buffer Overflow)的错误情况,在编写程序时请特别留意,或者用strncpy()来取代。 (40):strcspn(返回字符串中连续不含指定字符串内容的字符数) 相关函数 strspn 表头文件 #inclued 定义函数 size_t strcspn ( const char *s,const char * reject); 函数说明 strcspn()从参数s字符串的开头计算连续的字符,而这些字符都完全不在参数reject 所指的字符串中。简单地说,若strcspn()返回的数值为n,则代表字符串s开头连续有n个字符都不含字符串reject内的字符。 返回值 返回字符串s开头连续不含字符串reject内的字符数目 (41):strdup(复制字符串) 相关函数 calloc,malloc,realloc,free 表头文件 #include 定义函数 char * strdup( const char *s); 函数说明 strdup()会先用maolloc()配置与参数s字符串相同的空间大小,然后将参数s字符串的内容复制到该内存地址,然后把该地址返回。该地址最后可以利用free()来释放。 返回值 返回一字符串指针,该指针指向复制后的新字符串地址。若返回NULL表示内存不足。 (42):strlen(返回字符串长度) 相关函数 表头文件 #include 定义函数 size_t strlen (const char *s); 函数说明 strlen()用来计算指定的字符串s的长度,不包括结束字符\"\\0\"。 返回值 返回字符串s的字符数。 (43):strncasecmp(忽略大小写比较字符串) 相关函数 bcmp,memcmp,strcmp,strcoll,strncmp 表头文件 #include 定义函数 int strncasecmp(const char *s1,const char *s2,size_t n); 函数说明 strncasecmp()用来比较参数s1和s2字符串前n个字符,比较时会自动忽略大小写的差异。 返回值 若参数s1和s2 字符串相同则返回0。s1 若大于s2则返回大于0的值,s1若小于s2则返回小于0 的值。 (44):strncat(连接两字符串) 相关函数 bcopy,memccpy,memecpy,strcpy,strncpy 表头文件 #inclue 定义函数 char * strncat(char *dest,const char *src,size_t n); 函数说明 strncat()会将参数src字符串拷贝n个字符到参数dest所指的字符串尾。第一个参数dest要有足够的空间来容纳要拷贝的字符串。 返回值 返回参数dest的字符串起始地址。 (45):strncpy(拷贝字符串) 相关函数 bcopy,memccpy,memcpy,memmove 表头文件 #include 定义函数 char * strncpy(char *dest,const char *src,size_t n); 函数说明 strncpy()会将参数src字符串拷贝前n个字符至参数dest所指的地址。 返回值 返回参数dest的字符串起始地址。 (46):strpbrk(查找字符串中第一个出现的指定字符) 相关函数 index,memchr,rindex,strpbrk,strsep,strspn,strstr,strtok 表头文件 #include 定义函数 char *strpbrk(const char *s,const char *accept); 函数说明 strpbrk()用来找出参数s 字符串中最先出现存在参数accept 字符串中的任意字符。 返回值 如果找到指定的字符则返回该字符所在地址,否则返回0。 (47):strrchr(查找字符串中最后出现的指定字符) 相关函数 index,memchr,rindex,strpbrk,strsep,strspn,strstr,strtok 表头文件 #include 定义函数 char * strrchr(const char *s, int c); 函数说明 strrchr()用来找出参数s字符串中最后一个出现的参数c地址,然后将该字符出现的地址返回。 返回值 如果找到指定的字符则返回该字符所在地址,否则返回0。 (48):strspn(返回字符串中连续不含指定字符串内容的字符数) 相关函数 strcspn,strchr,strpbrk,strsep,strstr 表头文件 #include 定义函数 size_t strspn (const char *s,const char * accept); 函数说明 strspn()从参数s 字符串的开头计算连续的字符,而这些字符都完全是accept 所指字符串中的字符。简单的说,若strspn()返回的数值为n,则代表字符串s 开头连续有n 个字符都是属于字符串accept内的字符。 返回值 返回字符串s开头连续包含字符串accept内的字符数目。 (49):strstr(在一字符串中查找指定的字符串) 相关函数 index,memchr,rindex,strchr,strpbrk,strsep,strspn,strtok 表头文件 #include 定义函数 char *strstr(const char *haystack,const char *needle); 函数说明 strstr()会从字符串haystack 中搜寻字符串needle,并将第一次出现的地址返回。 返回值 返回指定字符串第一次出现的地址,否则返回0。 (50):strtok(分割字符串) 相关函数 index,memchr,rindex,strpbrk,strsep,strspn,strstr 表头文件 #include 定义函数 char * strtok(char *s,const char *delim); 函数说明 strtok()用来将字符串分割成一个个片段。参数s指向欲分割的字符串,参数delim则为分割字符串,当strtok()在参数s的字符串中发现到参数delim的分割字符时则会将该字符改为\\0 字符。在第一次调用时,strtok()必需给予参数s字符串,往后的调用则将参数s设置成NULL。每次调用成功则返回下一个分割后的字符串指针。 返回值 返回下一个分割后的字符串指针,如果已无从分割则返回NULL 因篇幅问题不能全部显示,请点此查看更多更全内容