字符串操作函数原型实现
来源:互联网 发布:php调取数据库 编辑:程序博客网 时间:2024/05/23 15:45
//将两个char类型连接:char * __cdecl strcat(char * dst, const char * src){ char * cp = dst; while( *cp ) cp++; while( *cp++ = *src++ ) ; return( dst );} //C语言标准库函数strcpy,把从src地址开始且含有'\0'结束符的字符串复制到以dest开始的地址空间: char * __cdecl strcpy(char * dst, const char * src){ char * cp = dst; while( *cp++ = *src++ ); return( dst );}//查找字符串s中首次出现字符c的位置 char * __cdecl strchr(const char * string, int ch){ while (*string && *string != (char)ch) string++; if (*string == (char)ch) return((char *)string); return(NULL);}/*C/C++函数,比较两个字符串,设这两个字符串为str1,str2,若str1=str2,则返回零;若str1<str2,则返回负数;若str1>str2,则返回正数. */int __cdecl strcmp(const char * src,const char * dst){ int ret = 0 ; while( ! (ret = *(unsigned char *)src - *(unsigned char *)dst) && *dst) ++src, ++dst; if ( ret < 0 ) ret = -1 ; else if ( ret > 0 ) ret = 1 ; return( ret );}//求字符串长度 size_t __cdecl strnlen(const char *str, size_t maxsize){ size_t n; for (n = 0; n < maxsize && *str; n++, str++) ; return n;}//求字符串长度size_t __cdecl strlen(const char * str){ const char *eos = str; while( *eos++ ) ; return( eos - str - 1 );}//拷贝安全函数 errno_t __cdecl strcpy_s(_CHAR *_DEST, size_t _SIZE, const _CHAR *_SRC){ _CHAR *p; size_t available; _VALIDATE_STRING(_DEST, _SIZE); _VALIDATE_POINTER_RESET_STRING(_SRC, _DEST, _SIZE); p = _DEST; available = _SIZE; while ((*p++ = *_SRC++) != 0 && --available > 0){} if (available == 0) { _RESET_STRING(_DEST, _SIZE); _RETURN_BUFFER_TOO_SMALL(_DEST, _SIZE); } _FILL_STRING(_DEST, _SIZE, _SIZE - available + 1); _RETURN_NO_ERROR;}char * __cdecl strncpy(char * dest, const char * source, size_t count){ char *start = dest; while (count && (*dest++ = *source++)) // copy str count--; if (count) while (--count) *dest++ = '\0'; return(start); }/*strstr(str1,str2)函数用于判断字符串str2是否是str1的子串.如果是,则该函数返回str2在str1中首次出现的地址;否则,返回NULL. */char * __cdecl strstr(const char * str1, const char * str2){ char *cp = (char *) str1; char *s1, *s2; if ( !*str2 ) return((char *)str1); while (*cp) { s1 = cp; s2 = (char *) str2; while (*s1 && *s2 && !(*s1-*s2)) s1++, s2++; if (!*s2) return(cp); cp++; } return(NULL);}//strstr(str1,str2)函数用于判断字符串str2是否是str1的子串.如果是,则该函数返回str2在str1中最后一次次出现的地址(也就是从右往左第一次出现的位置);否则,返回NULL.char * __cdecl strrchr(const char * string, int ch){ char *start = (char *)string; while (*string++) ; /* find end of string */ while (--string != start && *string != (char)ch) ; if (*string == (char)ch) return( (char *)string ); return(NULL);}
0 0
- 字符串操作函数原型实现
- 对字符串操作的系统函数的原型实现
- 字符串比较函数原型实现
- C语言字符串操作函数-原型
- C语言字符串处理函数原型实现
- 字符串操作函数实现
- 字符串操作函数实现
- 字符串操作原型
- 字符串操作函数Strcat、Strcpy、Strcmp、Strlen原型
- 字符串操作strlen,strcpy,strcat的函数原型
- 字符串常用函数原型
- 字符串函数原型
- C字符串操作函数实现
- 字符串操作函数 strstr 实现
- 字符串 操作函数 strchr 实现
- C字符串操作函数实现
- 字符串操作函数源代码实现
- 字符串操作函数的实现
- 15.14 传递Unicode字符串给C函数库
- 在Git上创建新分支(实用性高!!!)
- 【工具】Linux errno对照
- Tkinter教程值PaneWindow
- js 九九乘法表
- 字符串操作函数原型实现
- svn 常用问题解决办法
- C语言入门(五) 运算符
- 【unity3d开发】unity接入unity Ads详细流程
- java基础四:运算符
- 欢迎使用CSDN-markdown编辑器
- $(@:_config=)什么意思?
- C源文件到可执行文件的过程
- Spring + LDAP