PICC库函数

QQ172082520

3. 例 程

#include #include void

main (void) {

char * str = \while(str != NULL) { printf( \

str = strpbrk( str+1, \} }

4. 返回值

第一个匹配的字符,否则返回值为空。

3.54 STRRCHR, STRRICHR函数

1. 提 要

#include

/* 中级和低级系列单片机 */ const char * strrchr (char * s, int c) const char * strrichr (char * s, int c) /* 高级系列单片机 */

char * strrchr (char * s, int c) char * strrichr (char * s, int c) 2. 描 述

strrchr()函数和strchr()函数相似;但它从字符串的尾端开始查找,也就是说,其返回值为字符c最后一次在字符串中出现时的指针。如果没出现,则返回值为空。strrichr()函数和strrchr()函数完全一样。 3. 例 程

#include #include void

main (void) {

char * str = \while(str != NULL) { printf( \str = strrchr( str+1, ’s’); } }

75

QQ172082520

4. 参 阅

strchr(), strlen(), strcmp(), strcpy(), strcat() 5. 返回值

字符指针,或者返回值为空。

3.55 STRSPN函数

1. 提 要

#include

size_t strspn (const char * s1, const char * s2) 2. 描 述

strspn()函数返回字符串s1中包含的、完全由字符串s2组成的字符的长度。 3. 例 程

#include #include void

main (void) {

printf(\printf(\}

参见strcspn()函数。 4. 返回值 部分长度。

3.56 STRSTR, STRISTR函数

1. 提 要

#include

/*中级和低级系列单片机 */

const char * strstr (const char * s1, const char * s2) const char * stristr (const char * s1, const char * s2) /* 高级系列单片机 */

char * strstr (const char * s1, const char * s2) char * stristr (const char * s1, const char * s2) 2. 描 述

strstr()函数返回字符数组s1中第一次出现字符数组s2的指针位置。stristr()与之一样。 3. 例 程

#include #include void

main (void)

76

QQ172082520

{

printf(\}

4. 返回值

字符指针。如果每有字符串被找到,则返回为空。

3.57 STRTOK函数

1. 提 要

#include

/*中级和低级系列单片机 */

char * strtok (char * s1, const char * s2) /*高级系列单片机 */

far char * strtok (far char * s1, const char * s2) 2. 描 述

多次调用strtok()函数可以将字符串s1分为几个独立的部分。s1中包含0或者其它一些包含在字符串s2中的字符。这个调用返回一个指向分隔符的第一个字符的指针。如果不存在分隔符则返回为空。分隔符将被空格所覆盖,从而使目前的分隔标记不再起作用。 调用strtok()函数之后,应使指针s1为空。这样,将从后向前查找,又返回分隔符中第一个字符的指针。如果没找到,则返回为空。 3.例 程

#include #include void

main (void) {

char * ptr;

char * buf = \char * sep_tok = \ptr = strtok(buf, sep_tok); while(ptr != NULL) { printf(\

ptr = strtok(NULL, sep_tok); } }

4. 返回值

分隔符中的第一个字符的指针,或者返回为空。

注意:每次调用函数时,分隔字符串s2可以不一样。

3.58 TAN函数

77

QQ172082520

1. 提 要

#include double tan (double f) 2. 描 述

tan()函数用来计算参数f的正切值。 3. 例 程

#include #include

#define C 3.141592/180.0 void

main (void) {

double i;

for(i = 0 ; i <= 180.0 ; i += 10)

printf(\}

4. 参 阅

sin(), cos(), asin(), acos(), atan(), atan2() 5. 返回值

f的正切值。

3.59 TIME函数

1. 提 要

#include time_t time (time_t * t) 2. 描 述 函数需要目标系统提供当前时间,函数没有给出。这个函数需由用户实现。在运行时,函数以秒为单位返回当前时间。当前时间从1970年1月1日0点0分0秒开始有效。如果参数t不为空,那么这个值同样被保存到t所指的内存单元。 3.例 程

#include #include void

main (void) {

time_t clock; time(&clock);

printf(\}

4.参 阅

78

QQ172082520

ctime(), gmtime(), localtime(), asctime() 返回值:被执行的函数将返回从1970年1月1日0点0分0秒开始的精确到秒的当前时间。

注意:time()函数没有被提供,用户必须采用前面提到的规范来执行这一程序。

3.60 TOLOWER, TOUPPER, TOASCII函数

1. 提 要

#include char toupper (int c) char tolower (int c) char toascii (int c) 2. 描 述 toupper()函数将小写字母转换为大写字母;而tolower()则与之相反;toascii()用来保证得到一个0~0177之间的结果。如果参数不为字母表中的字母,则toupper()函数和tolower()函数都返回它们原来的参数值。 3. 例 程

#include #include #include void

main (void) {

char * array1 = \int i;

for(i=0;i < strlen(array1); ++i) { printf(\}

printf(\}

4.参 阅 islower(), isupper(), isascii()等。

3. 61 VA_START, VA_ARG, VA_END函数

1. 提 要

#include

void va_start (va_list ap, parmN) type va_arg (ap, type) void va_end (va_list ap) 2. 描 述 这些函数的宏提供一个方便的路径来传递函数参数。函数定义时,函数参数用省略

79

联系客服:779662525#qq.com(#替换为@) 苏ICP备20003344号-4