c常用函数.docx

上传人:b****2 文档编号:3152863 上传时间:2023-05-05 格式:DOCX 页数:25 大小:21.32KB
下载 相关 举报
c常用函数.docx_第1页
第1页 / 共25页
c常用函数.docx_第2页
第2页 / 共25页
c常用函数.docx_第3页
第3页 / 共25页
c常用函数.docx_第4页
第4页 / 共25页
c常用函数.docx_第5页
第5页 / 共25页
c常用函数.docx_第6页
第6页 / 共25页
c常用函数.docx_第7页
第7页 / 共25页
c常用函数.docx_第8页
第8页 / 共25页
c常用函数.docx_第9页
第9页 / 共25页
c常用函数.docx_第10页
第10页 / 共25页
c常用函数.docx_第11页
第11页 / 共25页
c常用函数.docx_第12页
第12页 / 共25页
c常用函数.docx_第13页
第13页 / 共25页
c常用函数.docx_第14页
第14页 / 共25页
c常用函数.docx_第15页
第15页 / 共25页
c常用函数.docx_第16页
第16页 / 共25页
c常用函数.docx_第17页
第17页 / 共25页
c常用函数.docx_第18页
第18页 / 共25页
c常用函数.docx_第19页
第19页 / 共25页
c常用函数.docx_第20页
第20页 / 共25页
亲,该文档总共25页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

c常用函数.docx

《c常用函数.docx》由会员分享,可在线阅读,更多相关《c常用函数.docx(25页珍藏版)》请在冰点文库上搜索。

c常用函数.docx

c常用函数

(1):

isalnum(测试字符是否为英文或数字)

相关函数isalpha,isdigit,islower,isupper

表头文件#include

定义函数intisalnum(intc)

函数说明检查参数c是否为英文字母或阿拉伯数字,在标准c中相当于使用“isalpha(c)||isdigit(c)”做测试。

(2):

isalpha(测试字符是否为英文字母)

相关函数isalnum,islower,isupper

表头文件#include

定义函数intisalpha(intc)

函数说明检查参数c是否为英文字母,在标准c中相当于使用“isupper(c)||islower(c)”做测试。

(3):

isascii(测试字符是否为ASCII码字符)

相关函数iscntrl

表头文件#include

定义函数intisascii(intc);

函数说明检查参数c是否为ASCII码字符,也就是判断c的范围是否在0到127之间。

(4):

iscntrl(测试字符是否为ASCII码的控制字符)

相关函数isascii

表头文件#include

定义函数intiscntrl(intc);

函数说明检查参数c是否为ASCII控制码,也就是判断c的范围是否在0到30之间。

(5):

isdigit(测试字符是否为阿拉伯数字)

相关函数isxdigit

表头文件#include

定义函数intisdigit(intc)

函数说明检查参数c是否为阿拉伯数字0到9。

(6):

isgraphis(测试字符是否为可打印字符)

相关函数isprint

表头文件#include

定义函数intisgraph(intc)

函数说明检查参数c是否为可打印字符,若c所对映的ASCII码可打印,且非空格字符则返回TRUE。

(7):

islower(测试字符是否为小写字母)

相关函数isalpha,isupper

表头文件#include

定义函数intislower(intc)

函数说明检查参数c是否为小写英文字母。

返回值若参数c为小写英文字母,则返回TRUE,否则返回NULL(0)。

(8):

isprint(测试字符是(否为可打印字符)

相关函数isgraph

表头文件#include

定义函数intisprint(intc);

函数说明检查参数c是否为可打印字符,若c所对映的ASCII码可打印,其中包含空格字符,则返回TRUE。

(9):

isspace(测试字符是否为空格字符)

相关函数isgraph

表头文件#include

定义函数intisspace(intc)

函数说明检查参数c是否为空格字符,也就是判断是否为空格('')、定位字符('\t')、CR('\r')、换行('\n')、垂直定位字符('\v')或翻页('\f')的情况。

(10):

ispunct(测试字符是否为标点符号或特殊符号)

相关函数isspace,isdigit,isalpha

表头文件#inlude

定义函数intispunct(intc)

函数说明检查参数c是否为标点符号或特殊符号。

返回TRUE也就是代表参数c为非空格、非数字和非英文字母。

返回值v若参数c为标点符号或特殊符号,则返回TRUE,否则返回NULL(0)。

(11):

isupper(测试字符是否为大写英文字母)

相关函数isalpha,islower

表头文件#include

定义函数intisupper(intc)

函数说明检查参数c是否为大写英文字母。

(12):

isxdigit(测试字符是否为16进制数字)

相关函数isalnum,isdigit

表头文件#include

定义函数intisxdigit(intc)

函数说明检查参数c是否为16进制数字,只要c为下列其中一个情况则返回TRUE。

16进制数字:

0123456789ABCDEF。

(13):

atof(将字符串转换成浮点型数)

相关函数atoi,atol,strtod,strtol,strtoul

表头文件#include

定义函数doubleatof(constchar*nptr);

函数说明atof()会扫描参数nptr字符串,跳过前面的空格字符,直到遇上数字或正负符号才开始做转换,而再遇到非数字或字符串结束时('\0')才结束转换,并将结果返回。

参数nptr字符串可包含正负号、小数点或E(e)来表示指数部分,如123.456或123e-2。

(14):

atoi(将字符串转换成整型数)

相关函数atof,atol,atrtod,strtol,strtoul

表头文件#include

定义函数intatoi(constchar*nptr);

函数说明atoi()会扫描参数nptr字符串,跳过前面的空格字符,直到遇上数字或正负符号才开始做转换,而再遇到非数字或字符串结束时('\0')才结束转换,并将结果返回。

(15):

atol(将字符串转换成长整型数)

相关函数atof,atoi,strtod,strtol,strtoul

表头文件#include

定义函数longatol(constchar*nptr);

函数说明atol()会扫描参数nptr字符串,跳过前面的空格字符,直到遇上数字或正负符号才开始做转换,而再遇到非数字或字符串结束时('\0')才结束转换,并将结果返回。

(16):

gcvt(将浮点型数转换为字符串,取四舍五入)

相关函数ecvt,fcvt,sprintf

表头文件#include

定义函数char*gcvt(doublenumber,size_tndigits,char*buf);

函数说明gcvt()用来将参数number转换成ASCII码字符串,参数ndigits表示显示的位数。

gcvt()与ecvt()和fcvt()不同的地方在于,gcvt()所转换后的字符串包含小数点或正负符号。

若转换成功,转换后的字符串会放在参数buf指针所指的空间。

(17):

strtod(将字符串转换成浮点数)

相关函数atoi,atol,strtod,strtol,strtoul

表头文件#include

定义函数doublestrtod(constchar*nptr,char**endptr);

函数说明strtod()会扫描参数nptr字符串,跳过前面的空格字符,直到遇上数字或正负符号才开始做转换,到出现非数字或字符串结束时('\0')才结束转换,并将结果返回。

若endptr不为NULL,则会将遇到不合条件而终止的nptr中的字符指针由endptr传回。

参数nptr字符串可包含正负号、小数点或E(e)来表示指数部分。

如123.456或123e-2。

范例/*将字符串a,b,c分别采用10,2,16进制转换成数字*/

#include

mian()

{

chara[]=”1000000000”;

charb[]=”1000000000”;

charc[]=”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

定义函数longintstrtol(constchar*nptr,char**endptr,intbase);

函数说明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

定义函数unsignedlongintstrtoul(constchar*nptr,char**endptr,intbase);

函数说明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

定义函数inttoascii(intc)

函数说明toascii()会将参数c转换成7位的unsignedchar值,第八位则会被清除,此字符即会被转成ASCII码字符。

(21):

tolower(将大写字母转换成小写字母)

相关函数isalpha,toupper

表头文件#include

定义函数inttolower(intc);

函数说明若参数c为大写字母则将该对应的小写字母返回。

返回值返回转换后的小写字母,若不须转换则将参数c值返回。

(22):

toupper(将小写字母转换成大写字母)

相关函数isalpha,tolower

表头文件#include

定义函数inttoupper(intc);

函数说明若参数c为小写字母则将该对映的大写字母返回。

返回值返回转换后的大写字母,若不须转换则将参数c值返回。

(23):

calloc(配置内存空间)

相关函数malloc,free,realloc,brk

表头文件#include

定义函数void*calloc(size_tnmemb,size_tsize);

函数说明calloc()用来配置nmemb个相邻的内存单位,每一单位的大小为size,并返回指向第一个元素的指针。

这和使用下列的方式效果相同:

malloc(nmemb*size);不过,在利用calloc()配置内存时会将内存内容初始化为0。

(24):

free(释放原先配置的内存)

相关函数malloc,calloc,realloc,brk

表头文件#include

定义函数voidfree(void*ptr);

函数说明参数ptr为指向先前由malloc()、calloc()或realloc()所返回的内存指针。

调用free()后ptr所指的内存空间便会被收回。

假若参数ptr所指的内存空间已被收回或是未知的内存地址,则调用free()可能会有无法预期的情况发生。

若参数ptr为NULL,则free()不会有任何作用。

(25):

getpagesize(取得内存分页大小)

相关函数sbrk

表头文件#include

定义函数size_tgetpagesize(void);

函数说明返回一分页的大小,单位为字节(byte)。

此为系统的分页大小,不一定会和硬件分页大小相同。

返回值内存分页大小。

附加说明在Intelx86上其返回值应为4096bytes。

(26):

malloc(配置内存空间)

相关函数calloc,free,realloc,brk

表头文件#include

定义函数void*malloc(size_tsize);

函数说明malloc()用来配置内存空间,其大小由指定的size决定。

返回值若配置成功则返回一指针,失败则返回NULL。

(27):

asctime(将时间和日期以字符串格式表示)

相关函数time,ctime,gmtime,localtime

表头文件#include

定义函数char*asctime(conststructtm*timeptr);

函数说明asctime()将参数timeptr所指的tm结构中的信息转换成真实世界所使用的时间日期表示方法,然后将结果以字符串形态返回。

此函数已经由时区转换成当地时间,字符串格式为:

“WedJun3021:

49:

081993\n”

返回值若再调用相关的时间日期函数,此字符串可能会被破坏。

此函数与ctime不同处在于传入的参数是不同的结构。

(28):

ctime(将时间和日期以字符串格式表示)

相关函数time,asctime,gmtime,localtime

表头文件#include

定义函数char*ctime(consttime_t*timep);

函数说明ctime()将参数timep所指的time_t结构中的信息转换成真实世界所使用的时间日期表示方法,然后将结果以字符串形态返回。

此函数已经由时区转换成当地时间,字符串格式为“WedJun3021:

49:

081993\n”。

若再调用相关的时间日期函数,此字符串可能会被破坏。

(29):

bcmp(比较内存内容)

相关函数bcmp,strcasecmp,strcmp,strcoll,strncmp,strncasecmp

表头文件#include

定义函数intbcmp(constvoid*s1,constvoid*s2,intn);

函数说明bcmp()用来比较s1和s2所指的内存区间前n个字节,若参数n为0,则返回0。

返回值若参数s1和s2所指的内存内容都完全相同则返回0值,否则返回非零值。

(30):

memccpy(拷贝内存内容)

相关函数bcopy,memcpy,memmove,strcpy,strncpy

表头文件#include

定义函数void*memccpy(void*dest,constvoid*src,intc,size_tn);

函数说明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(constvoid*s,intc,size_tn);

函数说明memchr()从头开始搜寻s所指的内存内容前n个字节,直到发现第一个值为c的字节,则返回指向该字节的指针。

返回值如果找到指定的字节则返回该字节的指针,否则返回0。

(32):

memcmp(比较内存内容)

相关函数bcmp,strcasecmp,strcmp,strcoll,strncmp,strncasecmp

表头文件#include

定义函数intmemcmp(constvoid*s1,constvoid*s2,size_tn);

函数说明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,constvoid*src,size_tn);

函数说明memcpy()用来拷贝src所指的内存内容前n个字节到dest所指的内存地址上。

与strcpy()不同的是,memcpy()会完整的复制n个字节,不会因为遇到字符串结束'\0'而结束。

返回值返回指向dest的指针。

(34):

memmove(拷贝内存内容)

相关函数bcopy,memccpy,memcpy,strcpy,strncpy

表头文件#include

定义函数void*memmove(void*dest,constvoid*src,size_tn);

函数说明memmove()与memcpy()一样都是用来拷贝src所指的内存内容前n个字节到dest所指的地址上。

不同的是,当src和dest所指的内存区域重叠时,memmove()仍然可以正确的处理,不过执行效率上会比使用memcpy()略慢些。

返回值返回指向dest的指针。

(35):

memset(将一段内存空间填入某值)

相关函数bzero,swab

表头文件#include

定义函数void*memset(void*s,intc,size_tn);

函数说明memset()会将参数s所指的内存区域前n个字节以参数c填入,然后返回指向s的指针。

在编写程序时,若需要将某一数组作初始化,memset()会相当方便。

返回值返回指向s的指针。

(36):

rindex(查找字符串中最后一个出现的指定字符)

相关函数index,memchr,strchr,strrchr

表头文件#include

定义函数char*rindex(constchar*s,intc);

函数说明rindex()用来找出参数s字符串中最后一个出现的参数c地址,然后将该字符出现的地址返回。

字符串结束字符(NULL)也视为字符串一部分。

返回值如果找到指定的字符则返回该字符所在的地址,否则返回0。

p=rindex(s,'5');

(37):

strcmp(比较字符串)

相关函数bcmp,memcmp,strcasecmp,strncasecmp,strcoll

表头文件#include

定义函数intstrcmp(constchar*s1,constchar*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

定义函数intstrcoll(constchar*s1,constchar*s2);

函数说明strcoll()会依环境变量LC_COLLATE所指定的文字排列次序来比较s1和s2字符串。

返回值若参数s1和s2字符串相同则返回0。

s1若大于s2则返回大于0的值。

s1若小于s2则返回小于0的值

(39):

strcpy(拷贝字符串)

相关函数bcopy,memcpy,memccpy,memmove

表头文件#include

定义函数char*str

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 工程科技 > 能源化工

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2