Keilc51常用库函数汇总参考_第1页
Keilc51常用库函数汇总参考_第2页
Keilc51常用库函数汇总参考_第3页
Keilc51常用库函数汇总参考_第4页
Keilc51常用库函数汇总参考_第5页
已阅读5页,还剩15页未读, 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、Keilc51函数参考、数学函数(1)cabs原型:charcabs(charval);功能:cabs函数取val的绝对值。参数:一字节数val。返回:cabs返回val的绝对值。(2)abs原型:Intabs(intval);功能:求绝对值参数:val整型数返回:val的绝对值(3)labs原型:longlabs(longval);功能:labs函数确定长整数val的绝对值。返回:val的绝对值。(4)fabs原型:floatfabs(floatval);功能:fabs函数确定浮点数val的绝对值。参数:返回:fabs返回val的绝对值。(5)sqrt原型:floatsprt(floatx)

2、;功能:sqrt函数计算x的平方根。返回:sqrt函数返回x的正平方根。(6)exp原型:floatexp(floatx);功能:exp函数计算自然对数中e的x次哥。e2.71828182845953581496,是无限循环小数。返回:ex的值。(7)log原型:floatlog(floatval);功能:log函数计算浮点数val的自然对数。自然对数基数为e。返回:val的浮点自然对数。(8)log10原型:floatlog10(floatval);功能:logl0函数计算浮点数val的常用对数。常用对数为基数10。返回:val的浮点常用对数。(9)sin原型:floatsln(floatx

3、);功能:sin函数计算浮点数x的正弦值。参数:x必须在-6553565535之间,或产生一个NaN错误。返回:sin函数返回x的正弦。(10)cos原型:floatcos(floatx);功能:COS函数计算浮点数X的余弦。X的值必须在-6553565535之间,或产生一个NaN错误。COS函数返回X的余弦。(11)tan原型:floattan(floatx);功能:tan函数计算浮点数x的正切值。x必须在-6553565535之间,或错误值NaN。tan函数返回x的正切。(12)asinfloatasin(floatx);功能:求反正弦数回参返浮点数x,取值必须在-11之间。X的反正弦,值

4、在-兀/2兀/2之间。(13)acosfloatacos(floatx);功能:求反余弦数回参返浮点数x,取值必须在-11之间。x的反余弦,值在0兀之间。(14)atanfloatatan(floatx);功能:求反正切浮点数x,取值必须在-11之间。X的反正切,值在-兀/2兀/2之间。(15)sinhfloatsinh(floatx);功能:sinh函数计算浮点数X的双曲正弦。参数:x必须在-6553565535之间,或产生一个NaN错误。返回:sinh函数返回x的双曲正弦。(16)cosh原型:floatcosh(floatx);功能:cosh函数计算浮点数X的双曲余弦。参数:返回:cos

5、h函数返回X的双曲余弦。(17)tanh原型:floattanh(floatx);功能:tanh函数计算浮点数x的双曲正切。返回:tanh函数返回x的双曲正切。(18)atan2原型:floatatan2(floaty,floatx);功能:计算浮点数y/x的反正切。参数:浮点数y,浮点数x。返回:反正切值,值在-兀兀之间。x和y的符号确定返回值的象限。(19)ceil原型:floatceil(floatval)功能:ceil函数计算大于或等于val的最小整数值(收尾取整)。参数:要化为整数的数。返回:ceil函数返回不小于val的最小float整数值。(20)floor原型:floatflo

6、or(floatval);功能:取整。返回:floor函数返回不大于val的最大整数值。(21)fmod原型:floatfmod(floatx,floaty);功能:取模。返回:x/y的浮点余数。(22)modf原型:floatmodf(floatval,float*ip);功能:modf函数把浮点数val分成整数和小数部分。返回:modf函数返回带符号小数部分val。整数部分保存在浮点数ip中。(23)pow原型:floatpow(floatx,floaty);功能:pow函数计算x的y次哥。返回:pow函数返回值xyo如果xw0和y=O,pow返回值1;如果x=0和y0,pow返回NaN。

7、如果xO和y不是一个整数,pow返回NaN。_nop_void_nop_(void);功能:nop插入一个8051NOP空操作指令到程序,用来停顿1个CPU周期。本程序是固有函数,代码要求内嵌而不是调用。返回:无。(2)_testbit_bit_testbit_(bitb);功能:3$也忆程序在生成的代码中用JBC指令来测试位b,并清零。参数:本程序只能用在直接寻址位变量,对任何类型的表达式无效。固有函数,代码要求内嵌,而非调用。返回:_testbit_程序返回值b(3)_cror_unsignedchar_cror_(unsignedcharc,unsignedcharb);功能:_5。_程

8、序字符c循环右移b位。固有函数,代码要求内嵌,而不是调用。参数:返回:右移的结果(4)_iror_unsignedint_iror_(unsignedinti,unsignedcharb);功能:iror程序将整数i循环右移b位。固有函数,代码要求内嵌而不是被调用。数回参返i右移的整数,b右移的次数。iror程序返回右移后的值。(5)_lror_原型:unsignedlong_lror_(unsignedlongl,unsignedcharb);功能:_lror_程序将长整数l循环右移b位。固有函数代码,要求内嵌而不是被调用。参数:l要右移白数,b要右移的位数。返回:返回右移后的值。摘要:#i

9、nclude。(6)_crol_原型:unsignedchar_crol_(unsignedcharc,unsignedcharb);功能:_crol_程序字符c循环左移b位。固有函数,代码要求内嵌,而不是调用。参数:返回:左移的结果(7)_irol_型能数回原功参返unsignedint_irol_(unsignedinti,unsignedcharb);_irol_程序将整数i循环左移b位。固有函数,代码要求内嵌而不是被调用。i左移的整数,b左移的次数。irol程序返回左移后的值。(8)_lrol_原型:unsignedlong_lrol_(unsignedlongl,unsignedch

10、arb);功能:_lrol_程序将长整数l循环左移b位。固有函数,代码要求内嵌而不是被调用。参数:l要左移白勺数,b要左移的位数。返回:返回左移后的值。(9)_chkfloat_原型:unsignedchar_chkfloat_(floatval);功能:检查浮点数的状态。参数:浮点型变量。返回:0,标准浮点数;1,浮点数0;2,正溢出;3,负溢出;4,NaN(不是一个数)错误状O(10)_push_原型:void_push_(unsignedchar_sfr);功能:将特殊功能寄存器_sfr压入堆栈。(11)_pop_原型:void_pop_(unsignedchar_sfr);功能:将堆栈

11、中的数据弹出到特殊功能寄存器_sfr。三、字串转数字,随机数,存储池管理(1)atof原型:floatatof(void*string);功能:将浮点数格式的字符串转换为浮点数。如果string的第一个字符不能转换成数字,就停止处理。参数:格式为,+|-数字.数字e|E+|-数字。如,-12.345e+67返回:atof函数返回string的浮点值。(2)atoi原型:intatoi(void*string);功能:atoi函数转换string为一个整数值。string是一个字符序列,可以解释为一个整数。如果string的第一个字符不能转换成数字,就停止处理。参数:atoi函数要求string

12、有这样的格式:空格+|-数字,如123456”。返回:atoi函数返回string的整数值。(3)atol原型:longatol(void*string);功能:atol函数转换string为一个长整数值。string是一个字符序列,可以解释为一个长整数。如果string的第一个字符不能转换成数字,就停止处理。参数:atol函数要求string有这样的格式:空格+|-数字,如1234567890”。返回:atol函数返回string的长整数值。(4)rand原型:intrand(void);功能:rand函数产生一个032767之间的虚拟随机数。返回:rand函数返回一个虚拟随机数。(5)sr

13、and原型:voidsrand(intseed);功能:srand函数设置rand函数所用的虚拟随机数发生器的起始值seed,随机数发生器对任何确定值seed产生相同的虚拟随机数序列。返回:无。(6)strtod原型:unsignedlongstrtod(constchar*string,char*ptr);功能:strtod函数将一个浮点数格式的字符串string转换为一个浮点数。字符串开头的空白字符被忽略。参数:要求string有下面的格式:个十进制数。ptr的值设置指针到值和ptr关联。如果不能转换,则+-digits.digitse|E+|-digitsdigits可能是一个或多str

14、ing中转换部分的第一个字符。如果ptr是NULL没有prt就设为string的值,strtod返回0。返回:strtod函数返回由string生成的浮点数。(7)strtol原型:longstrtol(constchar*string,char*ptr,unsignedcharbase);功能:strtol函数将一个数字字串string转换为一个long值。参数:输入string是一个字符序列,可以解释为一个整数。字符串开头的空白字符被忽略,符号可选。要求string有下面的格式:whitespace+|-digitsdigits可能是一个或多个十进制数。如果base是零,数值应该有一个十进

15、制常数、八进制常数或十六进制常数的格式。数值的基数从格式推出。如果base在236之间,数值必须是一个字母或数字的非零序列,表示指定基数的一个整数。字母az(或AZ)分别表示值1036。只有小于base的字母表示的值是允许的。如果base是16,数值可能以0x或0X开头,0x或0x被忽略。prt的值设置指针指向string中转换部分的第一个字符。如果prt是NULL.,没有值和ptr关联。如果不能转换,prt设置为string的值,strtol返回0。返回:strtol函数返回string生成的整数值。如溢出则返回LONG_MIN或LONG_MAX。(8)strtoul原型:unsignedl

16、ongstrtoul(constchar*string,char*ptr,unsignedcharbase);功能:strtoul函数转换string为一个unsignedlong值。参数:与strtol函数类似。返回:strtoul函数返回string生成的整数值。如溢出则返回ULONG_MAX(9)init_mempool原型:voidinti_mempool(voidxdata*p,unsignedintsize);功能:init_mempool函数初始化存储管理程序,提供存储池的开始地址和大小。本函数必须在任何其他的存储管理函数(calloc,free,malloc,realloc)被

17、调用前设置存储池,只在程序的开头调用一次。可以修改源程序以适合硬件环境。参数:p参数指向一个xdata的存储区,用calloc,free,malloc和realloc库函数管理。size参数指定存储池所用的字节数。返回:无。(10)malloc原型:voidxdata*malloc(unsignedintsize);功能:malloc函数从存储池分配size字节的存储块。返回:malloc返回一个指向所分配的存储块的指针,如果没有足够的空间,则返回一个NULL指针。(11)free原型:voidfree(voidxdata*p);功能:free函数返回一个存储块到存储池。p参数指向用callo

18、c、malloc或realloc函数分配的存储块。一旦块返回到存储就可被再分配。如果p是一个NULL指针,被忽略。本程序的源代码在KEILC51LIB目录中,可以修改源程序,根据硬件来定制本程序。参数:返回:无。(12)realloc原型:voidxdata*realloc(voidxdata*p,unsignedintsize);功能:realloc函数改变已分配的存储块的大小。本程序的源代码在目录KEILC5ILIB中,可以根据硬件环境定制本函数。参数:P参数指向己分配块,size参数指定新块的大小。原块的内容复制到新块,新块中的任何其他区,如果是一个更大的块不初始化。返回:realloc

19、返回一个指向新块的指针。如果存储池没有足够的存储区,返回一个NULL指针,存储块不受影响。(13)calloc原型:voidxdata*calloc(unsignedintnum,unsignedintlen);功能:calloc函数从一个数组分配num个元素的存储区。每个元素占用len字节,并清0。字节总数为num*len。在LIB目录提供程序的源代码。可以修改源程序,为硬件定制本函数。参数:num为元素数目,len为每个元素的长度。返回:calloc函数返回一个指针,指向分配的存储区,如果不能分配,则返回一个NULL指针。四、流输入输出_getkey原型:char_getkey(void)

20、;功能:_getkey函数等待从串口接收字符。_getkey和putchar函数的源代码可以修改,提供针对硬件的字符级的I/O。返回:接收到的字符(2)getchar原型:chargetchar(void);功能:getchar函数用_getkey函数从输入流读一个字符。所读的字符用putchar函数显示。本函数基于_getkey或putchar函数的操作。这些函数,在标准库中提供,用8051的串口读和写字符。定制函数可以用别的I/O设备。返回:所读的字符。(3)ungetchar原型:charungetchar(charc);功能:ungetchar函数把字符c放回到输入流。子程序被getc

21、har和另U的返回c的流输入函数调用。getchar在调用时只能传递一个字符给ungetehar。参数:返回:如果成功,ungetchar函数返回字符c。如果调用者在读输入流时调用ungetchar多次,返回EOF表示一个错误条件。(4)putchar原型:charputchr(charc);功能:putchar函数用8051的串口输出字符c。本程序指定执行,功能可能有变。因提供了_getkey和putchar函数的源程序,可以根据任何硬件环境修改以提供字符级的I/O。参数:返回:putchar函数返回输出的字符c。(5)printf原型:intprintf(constchar*fmtstr.

22、arguments);功能:printf函数格式化一系列的字符串和数值,生成一个字符串用putchar写到输出流。参数:fmtstr参数是一个格式化字符串,可能是字符、转义系列和格式标识符。普通的字符和转义系列按说明的顺序复制到流。格式标识符通常以百分号()开头,要求在函数调用中包含附加的参数Argumentso格式字符串从左向右读。第一个格式标识符使用fmtstr后的第一个参数,用格式标识符转换和输出。第二个格式标识符访问fmtstr后的第二个参数。如果参数比格式标识符多,多出的参数被忽略。如果参数不够,结果是不可预料的。格式标识符用下面的格式:%flagswidth.precisionb|

23、B|l|Ltype格式标识符中的每个域可以是一个字符或数字type域是一个字符,指定参数是否解释为一个字符、字符串、数字或指针。如下表所示:可选的字符b或B和l和L可直接放在类型字符前,分别指定整数类型d、i、u、o、x和X的char或10ng版本。flags域是单个字符,用来对齐、输出和打印+/-号、空白、小数点、八进制和十六进制的前缀。如下表所示:width域是一个非负数字,指定显示的最小字符数。如果输出值的字符数小于width,空白会加到左边或右边(当指定了一个标记)以达到最小的宽度。如果width用一个0作前缀,则填充的是零而不是空白。width域不会截短一个域。如果输出值的长度超过指

24、定宽度,则输出所有的字符。width域可能是星号(*),在这种情况下,参数列表的一个int参数提供宽度值。如果参数使用的是unsignedchar,在星号标识符前指定一个b。precision域是非负数字,指定显示的字符数、小数位数或有效位。precison域可能使输出值切断或舍入。precision域可能是星号(*),在这种情况,参数列表的一个int参数提供宽度值。如果参数使用的是unsignedchar,在星号标识符前指定一个b。本函数指定执行基于putchar函数的操作。本函数作为标准库提供,用8051的串口写字符,用别的I/O设备可以定制函数。必须确保参数类型和指定的格式匹配。可用类型

25、映射确保正确的类型传递到printf。可传递给printf的总的字节数受到8051的存储区的限制。SMALL模式和COMPAC微式最多15字节,LARGE模式最多40字节。返回:printf函数返回实际写到输出流的字符数。(6)sprintf原型:intsprintf(char*buffer,constchar*fmtstrarguments);功能:sprintf函数格式化一系列的字符串和数值,并保存结果字符串在bufferfintstr。参数:参数是一个格式字符串,和printf函数指定的要求相同。返回:sprintf函数返回实际写到buffer的字符数。(7)vprintf原型:void

26、vprintf(constchar*fmtstr,char*argptr);功能:vprintf函数格式化一系列字符串和数字值,并建立一个用puschar函数写到输出流的字符串,函数类似于printf的副本,但使用参数列表的指针,而不是一个参数列表。本函数是指定执行的,基于putchar函数的操作。本函数作为标准库提供,用8051的串口写字符。别的I/O设备可以定制函数。参数:fmtstr参数是一个指向一个格式字符串的指针,和printf函数的fmtstr参数有相同的形式和功能。argptr参数指向一系列参数,根据格式中指定的对应格式转换和输出。返回:vprintf函数返回实际写到输出流的字符

27、数。(8)vsprimf原型:voidvsprintf(char*buffer,constchar*fmtstr,char*argptr);功能:vsprintf函数格式化一系列字符串和数字值,并保存字符串在Buffer中。函数类似于sprintf的副本,但使用参数列表的指针,而不是一个参数列表。参数:fmtstr参数是一个指向一个格式字符串的指针,和printf函数的fmtstr参数有相同的形式和功能。argptr参数指向一系列参数,根据格式中指定的对应格式转换和输出。返回:vsprintf函数返回实际写到输出流的字符数。(9)gets原型:char*gets(char*string,int

28、len);功能:gets函数调用getchar函数读一行字符到string。这行包括所有的字符和换行符(n)。在string中换行符被一个NULL字符(n)替代。len参数指定可读的最多字符数。如果长度超过len,gets函数用NULL字符终止string并返回。本函数指定执行基于_getkey或putchar函数的操作。这些函数,在标准库中提供,用8051的串口读写。对别的I/O设备可以定制。参数:string要读的字符串,len最多字符数。返回:gets函数返回string原型:intscanf(sonstchar*fmtstr,argument);功能:scanf函数用getchar程序

29、读数据。输入的数据保存在由argument根据格式字符串fmtstr指定的位置。参数:每个argument必须是一个指针,指向一个变量,对应fmtstr定义的类型,fmtstr控制解释输入的数据,fmtstr参数由一个或单个空白字符、非空白字符和下面定义的格式标识符组成。空白字符,空白(),制表(t)或换行(n),使scanf跳过输入流中的空白字符。格式字符串中的单个的空白字符匹配输入流的0或多个空白字符。非空白字符,除了百分号(),使scanf从输入流读但不保存一个匹配字符。如果输入流的下一个字符和指定的非空白字符不匹配,scanf函数终止。格式标识符以百分号()开头,使scanf从输入流读

30、字符,并转换字符到指定的类型值。转换后的值保存在参数列表的argument中。百分号后面的字符不被认为是一个格式标识符,只作为一个普通字符。例如%匹配输入流的一个百分号。格式字符串从左向右读,不是格式标识符的字符必须和输入流的字符匹配。这些字符从输入流读入,但不保存,如果输入流的一个字符和格式字符串冲突,scanf终止。任何冲突的字符仍保留在输入流中。在格式字符串中的第一个格式标识符引用fmtstr后面的第一个参数,并转化输入字符,用格式标识符保存值。第二个格式标识符访问fmtstr后面的第二个参数,等等。如果参数比格式标识符多,多出的参数被忽略。如果没有足够的参数匹配格式标识符,结果是不可预

31、料的。输入流中的值被输入域调用,用空白字符隔开。在转换输入域时,scanf遇到一个空白字符就结束一个参数的转换,而且任何当前格式标识符不认识的字符会结束一个域转换。格式标识符的格式:*widthb|h|ltype格式标识符中的每个域可以是单个字符或数字,用来指定一个特殊的格式选项。type域是单个字符,指定输入字符是否解释为一个字符、字符串或数字。本域可以是下表中的任何值。以星号(*)作为格式标识符的第一个字符,会使输入域被扫描但不保存。星号禁止和格式标识符关联。width域是一个非负数,指定从输入流读入的最多字符数。从输入流读入的字符不超过width,并根据相应的argument转换。然而,

32、如果一个空白字符或一个不认识字符先遇到,则读入的字符数小于widtho可选字符b,h和l直接放在类型字符前面,分别指定整数类型d,i,u,。和x的char,short或long版本。本函数指定执行基于_getkey或putchar函数的操作。这些函数,作为标准库提供,用8051的串口读写。可对别的I/O设备定制函数。可以传递给scanf的字节数受8051存储区的限制。SMALL模式或COMPAC做式最多为15字节。LARGE模式最多为40字节。返回:scanf函数返回成功转换的输入域的数目。如果有错误则返回EOF(11)sscanf原型:intsscanf(char*buffer,constc

33、har*fmtstr,argument);功能:sscanf函数从buffer读字符串。参数:输入的数据保存在由argument根据格式字符串fmtstr指定的位置。每个argument必须是指向变量的指针,对应定义在fmtstr的类型,控制输入数据的解释。fmtstr参数由一个或多个空白字符、非空白字符和格式标识符组成,如同scanf函数所定义。返回:sscanf函数返回成功转换的输入域的数目,如果出现错误则返回EOF。(12)puts原型:intputs(constchar*string);功能:puts函数用putchar函数写string和换行符n到输出流。本函数指定执行基于putch

34、ar函数的操作。本函数作为标准库提供,写字符到8051的串口。用别的I/O可以定制函数。参数:输出的字符串。返回:如果出现错误,puts函数返回EOF,如果没有则返回0。五、字符测试(1)isalpha原型:bitisalpha(charc);功能:isalpha函数测试参数c,确定是否是一个字母(AZ,az)。返回:如果c是一个字母,isalpha函数返回1(真),否则返回0(假)。(2)isalnum原型:bitisalnum(charc);功能:isalnum函数测试参数c,确定是否是一个字母或数字字符(AZ,az,09)。返回:如果c是一个字母或数字字符,isalnum函数返回1(真)

35、,否则返回0(假)。(3)iscntrl原型:bitiscntrl(charc);功能:iscntrl函数测试参数c,确定是否是一个控制字符(0x000x1F或0x7F)。返回:如果c是一个控制字符,iscntrl函数返回1(真),否则返回0(假)。(4)isdigit原型:bitisdigit(charc);功能:isdigit函数测试参数c,确定是否是一个十进制数(09)。返回:如果c是一个十进制数,isdigit函数返回1(真),否则返回0(假)。(5)isgraph原型:bitisgraph(charc);功能:isgraph函数测试参数c,确定是否是一个可打印字符(0x210x7E,

36、不包才空格)。返回:如果c是一个可打印字符,isgraph函数返回1(真),否则返回0(假)。(6)isprint原型:bitisprint(charc);功能:isprint函数测试参数c,确定是否是一个可打印字符(0x200x7E)。返回:如果c是一个可打印字符,isprint函数返回1(真),否则返回0(假)。(7)ispunct原型:bitispunct(charc);功能:ispunct函数测试参数c,确定是否是一个标点符号字符(!,.:;?”#$%&()*+-=/|人_)。返回:如果c是一个标点符号字符,ispunct函数返回1(真),否则返回0(假)。原型:bitislower(

37、charc);功能:islower函数测试参数c,确定是否是一个小写字母字符(az)。返回:如果c是一个小写字母字符,islower函数返回1(真),否则返回0(假)。(9)isupper原型:bitisupper(charc);功能:isupper函数测试参数c,确定是否是一个大写字母字符(AZ)。返回:如果c是一个大写字母字符,isupper函数返回1(真),否则返回0(假)。(10)isspace原型:bitisspace(charc);功能:isspace函数测试参数c,确定是否是一个空白字符(0x090x0D或0x20)。返回:如果c是一个空白字符,isspace函数返回1(真),否

38、则返回0(假)。(11)isxdigit原型:bitisalnum(charc);功能:isalnum函数测试参数c,确定是否是一个十六进制数(AF,af,09)。返回:如果c是一个十六进制数,isalnum函数返回1(真),否则返回0(假)。(12)tolower原型:chartolower(charc);功能:tolower函数转换c为一个小写字符。如果c不是一个字母,tolower函数无效。(13)toupper原型:chartoupper(charc);功能:toupper函数转换c为一个大写字符。如果c表示一个字母,toupper函数无效。参数:返回:toupper宏返回c的大写。(

39、14)toint原型:chartoint(charc);功能:toint函数解释c为十六进制值。ASCII字符09生成值09。ASCII字符AF和af生成值1015。如果c表示一个十六进制数,函数返回-1。返回:toint宏返回c的十六进制ASCII值。(15)_tolower原型:#define_tolower(c)(c)-A+a)功能:_tolower宏是在已知c是一个大写字符的情况下可用的lower的一个版本。返回:tolower宏返回c的小写。(16)_toupper原型:#define_toupper(c)(c)-a+A)功能:_toupper宏是在已知c是一个小写字符的情况下可用的

40、toupper的一个版本。返回:_toupper宏返回c的大写。(17)toascii原型:#definetoascii(c)(c)&0x7F)功能:toascii宏转换c为一个7位ASCII字符。宏只转换变量c的低7位。返回:toascii宏返回c的7位ASCII字符。六、跳转(1)setjmp原型:volatileintsetjmp(jmp_bufenv);功能:setjmp函数保存当前CPU的状态在env,该状态可以调用longjmp函数来恢复。参数:当同时使用时,setjmp和longjmp函数提供一种方法实行非局部跳转。setjmp函数保存当前指令地址和别的CPU寄存器。一个long

41、jmp的并发调用恢复指令指针和寄存器,在setjmp调用后面恢复运行。只有声明了volatile属性的局部变量和函数参数被恢复。返回:当CPU的当前状态被复制到env,setjmp函数返回一个0。一个非零值表示执行了longjmp函数来返回setjmp函数调用。在这种情况下,返回值是传递给longjmp函数的值。(2)longjmp原型:volatilevoidlongjmp(jmp_bufenv,intretval);功能:longjmp函数恢复用setjmp函数保存在env的状态。retval参数指定从setjmp函数调用返回值。longjmp和setjmp函数可以用来执行非局部跳转,通常

42、用来控制一个错误恢复程序。只有用volatile属性声明的局部变量和函数参数被恢复。七、字符串操作(1)strcat原型:char*strcat(char*s1,char*s2);功能:strcat函数连接或添加s2到s1,并用NULL字符终止s1。参数:s1目标字符串,s2源字符串。返回:s1o(2)strncat原型:char*strncat(char*s1,char*s2,intlen);功能:strncat函数从s2添加最多len个字符到s1,并用NULL结束。如果s2的长度小于len,s2连带NULL全部复制。参数:s1目标字符串,s2源字符串,len连接的最多字符数。返回:strn

43、cat函数返回s1。(3)strcmp原型:charstrcmp(char*s1,char*s2);功能:strcmp函数比较字串s1和s2的内容,并返回一个值表示它们的关系。返回:若s1s2返回正数。型能数回原功参返char*strncmp(char*si,char*s2,intlen);strncmp函数比较si的前len字节和s2,返回一个值表示它们的关系。si,s2为字串,len为比较的长度。若sis2返回正数。(5)strcpy原型:char*strcpy(char*s1,char*s2);功能:strcpy函数复制字符串s2到字符串si,并用NULL字符结束si。参数:si目标字符

44、串,s2源字符串。s1。(6)strncpy原型:char*strncpy(char*dest,char*s2,intlen);功能:strncpy函数从字符串s2复制最多len个字符到字符串si。si。(7)strlen原型:intstrlen(char*s);功能:strlen函数计算字符串s的字节数,不包括NULL结束符。参数:s要测试长度的字串。返回:字符串s的长度。(8)strchr原型:char*strchr(constchar*s,charc);功能:strchr函数搜索字符串s中第一个出现的c。s中的NULL字符终止搜索。参数:s被搜索的字符串,c要查找的字符。返回:字符串s中

45、指向c的指针,如没有发现则返回一个NULL指针。(9)strops原型:intstrpos(constchar*s,charc);功能:strpos函数查找字符串s中c的第一次出现,包括s的NULL结束符。参数:s被搜索的字符串,c要查找的字符。返回:s中和c匹配的字符的索引。如没匹配则返回-1。s中第一个字符的索引是0。(10)strrchr原型:char*strrchr(constchar*s,charc);功能:strrchr函数查找字符串s中c的最后一次出现,包括s的NULL结束符。参数:s被搜索的字符串,c要查找的字符。返回:strrchr函数返回s中和c匹配的字符的指针,如没匹配则

46、返回NULL。(ii)strrpos原型:intstrrpos(constchar*s,charc);s的NULL结束符。功能:strrpos函数查找字符串s中c的最后一次出现,包括参数:s被搜索的字符串,c要查找的字符。返回:s中和c匹配的最后字符的索引。如没匹配则返回-1,s中第一个字符的索引是0。(12)strcspn原型:intstrcspn(char*s,char*set);功能:在字符串s中查找字符串set中的任何字符。参数:s源字串,set查找的字串。返回:strcspn函数返回s中和set匹配的第一个字符的索引。如果s的第一个字符和set中的一个字符匹配,返回0。如果s中没有字

47、符匹配,返回字符串的长度。(13)strpbrk原型:char*strpbrk(char*s,char*set);功能:查找字符串s中第一个出现的set中的任何字符,不包括NULL结束符。参数:s源字串,set查找的字串。返回:s匹配的字符的指针。如果s没有字符和set匹配,返回一个NULL指针。(14)strrpbrk原型:char*strrpbrk(char*s,char*set);功能:查找字符串s中最后一个出现的set中的任何字符,不包括NULL结束符。返回:s最后匹配的字符的指针。如果s没有字符和set匹配,返回一个NULL指针。(15)strspn原型:intstrspn(char*s,char*set);功能:查找字符串s中set没有的字符。返回:strspn函数返回s第一个和set不匹配的字符的索引。如

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论