C语言中strlen函数功能及用法

时间:2025-04-04 10:19:53

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

用法:#include <>

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

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

举例

//

#include <>

#include <>

main()

{

char *s="Golden Global View";

clrscr();

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

getchar();

return 0;

}

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

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

#include <>

#include <>

typedef unsigned int u_int;

u_int Mystrlen(const char *str)

{

u_int i;

assert(str != NULL);

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

return i;

}

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

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

int strlen(const char *str)

{

assert(str != NULL);

int len = 0;

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

len++;

return len;

}

------------------------------------------------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。