商城首页欢迎来到中国正版软件门户

您的位置:首页 > 软件教程 >基础的C和C字符串函数实现:strlen、strcat、strcpy和strcmp的实现

基础的C和C字符串函数实现:strlen、strcat、strcpy和strcmp的实现

  发布于2024-12-30 阅读(0)

扫一扫,手机访问

实现C和C字符串函数 1 c实现: strlen strcat strcpy strcmp 2

size_t strlen(const char *s)

{

char *ts;

for(ts =s; *s; s++)

;

return s-ts;

}

char *strcpy(char *dest, const char *src)

{

char *ts =dest;

for(; *dest++ = *src++; )

;

return ts;

}

int strcmp(const char *s1, const char *s2) { for(; *s1 == *s2; s1++, s2++) if(*s1 == '\0') return 0; return ((unsigned *)*s1 < (unsigned *)*s2 ? -1 : 1); } char *strcat(char *dest, const char *src) { char *ts =dest; for(; *dest; ++dest) ; for(; *src; src++) *dest++ =*src; *dest='\0'; return ts; }

C语言字符串处理函数

其实那些字符串函数并不复杂。任何一个的实现都不出五行代码:

char *strcpy( char *dst, const char *src ) {

char *destination = dst;

while( *dst++ = *src++ )

;

return destination;

}

char *strcat( char *dst, const char *src ) {

char *destination = dst;

while( *dst++ )

;

strcpy( --dst, src );

return destination;

}

int strcmp( const char *s1, const char *s2 ) {

for( ; *s1 == *s2; s1++, s2++ )

if( *s1 == '\0' ) return 0;

return *s1 - *s2;

}

unsigned strlen( const char *s ) {

const char *t = s;

while( *t++ )

;

return --t - s;

}

C语言中有哪些字符串处理函数

你可以看一下头文件string.h和stdio.h里面的相关函数声明,好多好多。

这里就不一一列出了……比如下面列出的只是其中一部分……

_CRTIMP char * __cdecl strcpy(char *, const char *);

_CRTIMP char * __cdecl strcat(char *, const char *);

_CRTIMP int __cdecl strcmp(const char *, const char *);

_CRTIMP size_t __cdecl strlen(const char *);

_CRTIMP char * __cdecl strchr(const char *, int);

_CRTIMP int __cdecl _strcmpi(const char *, const char *);

_CRTIMP int __cdecl _stricmp(const char *, const char *);

_CRTIMP int __cdecl strcoll(const char *, const char *);

_CRTIMP int __cdecl _stricoll(const char *, const char *);

_CRTIMP int __cdecl _strncoll(const char *, const char *, size_t);

_CRTIMP int __cdecl _strnicoll(const char *, const char *, size_t);

_CRTIMP size_t __cdecl strcspn(const char *, const char *);

_CRTIMP char * __cdecl _strdup(const char *);

_CRTIMP char * __cdecl _strerror(const char *);

_CRTIMP char * __cdecl strerror(int);

_CRTIMP char * __cdecl _strlwr(char *);

_CRTIMP char * __cdecl strncat(char *, const char *, size_t);

_CRTIMP int __cdecl strncmp(const char *, const char *, size_t);

_CRTIMP int __cdecl _strnicmp(const char *, const char *, size_t);

_CRTIMP char * __cdecl strncpy(char *, const char *, size_t);

_CRTIMP char * __cdecl _strnset(char *, int, size_t);

_CRTIMP char * __cdecl strpbrk(const char *, const char *);

_CRTIMP char * __cdecl strrchr(const char *, int);

_CRTIMP char * __cdecl _strrev(char *);

_CRTIMP size_t __cdecl strspn(const char *, const char *);

_CRTIMP char * __cdecl strstr(const char *, const char *);

_CRTIMP char * __cdecl strtok(char *, const char *);

_CRTIMP char * __cdecl _strupr(char *);

_CRTIMP size_t __cdecl strxfrm (char *, const char *, size_t);

本文转载于:https://www.docexcel.net/show/24_142439.html 如有侵犯,请联系admin@zhengruan.com删除

热门关注