strlen

王朝百科·作者佚名  2010-01-21  
宽屏版  字体: |||超大  

原型:extern int strlen(char *s);

用法:#include <string.h>

功能:计算字符串s的(unsigned int型)长度

说明:返回s的长度,不包括结束符NULL。

举例:

// strlen.c

#include <syslib.h>

#include <string.h>

main()

{

char *s="Golden Global View";

clrscr();

printf("%s has %d chars",s,strlen(s));

getchar();

return 0;

}

下面给大家提供几种实现strlen函数的源代码,供大家参考:

-------------------------------------------------1:start------------------------------------

#include <stdio.h>

#include <assert.h>

typedef unsigned int u_int;

u_int Mystrlen(const char *str)

{

u_int i;

assert(str != NULL);

for (i = 0; str != ''; i++);

return i;

}

------------------------------------------------1:end--------------------------------------

-------------------------------------------------2:start--------------------------------------

int strlen(const char *str)

{

assert(str != NULL);

int len = 0;

while((*str++) != '')

len++;

return len;

}http://baike.baidu.com/edit/id=736226

------------------------------------------------2:end ------------------------------------------

------------------------------------------------3:start------------------------------------------

int strlen(const char *str)

{

assert(str);

const char *p = str;

while(*p++!=NULL);

return p - str - 1;

}

-------------------------------------------------4:end-----------------------------------------

-------------------------------------------------5:start----------------------------------------

int strlen(const char *str)

{

assert(str);

const char *p = str;

while(*p++);

return p - str - 1;

}

-----------------------------------------------6:end----------------------------------------

简单的总结一下:

以上各种实现的方式都是大同小异的,有的用的是变量,有的用的是指针。

其中,最后一个用的是递归的方式。其实,在实现库函数的时候,是规定不可以

调用其他的库函数的,这里只是给大家一个方法,不用变量就可以实现strlen。

 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
© 2005- 王朝百科 版权所有