C语言中的字符串操作函数

char *strchr (const char * string, int ch)
{
while (*string && *string != (char)ch)
string++;
if (*string == (char)ch)
return((char *)string);
return(NULL);
}

char * strcpy(char * dst, const char * src)
{
char * cp = dst;
while( *cp++ = *src++ )
;               /* Copy src over dst */
return( dst );
}

char *strcat (char * dst,const char * src)
{
char * cp = dst;
while( *cp )
cp++;                   /* find end of dst */
while( *cp++ = *src++ ) ;       /* Copy src to end of dst */
return( dst );                  /* return dst */
}

int 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 );
}

char * strdup (const char * string)
{
char *memory;
    size_t size = 0;
if (!string)
return(NULL);
    size = strlen(string) + 1;
     if (memory = malloc(size))
     {
strcpy(memory, size, string));
return memory;
     }
     return(NULL);
}

int stricmp (const char * dst,const char * src)
{
    int f, l;
    do
    {
        if ( ((f = (unsigned char)(*(dst++))) >= 'A') && (f <= 'Z') )
            f -= 'A' - 'a';
        if ( ((l = (unsigned char)(*(src++))) >= 'A') && (l <= 'Z') )
            l -= 'A' - 'a';
    }
    while ( f && (f == l) );
    return(f - l);
}

size_t  strlen (const char * str)
{
const char *eos = str;
while( *eos++ ) ;
return( eos - str - 1 );
}

size_t  strnlen(const char *str, size_t maxsize)
{
    size_t n;
    /* Note that we do not check if s == NULL, because we do not
* return errno_t...
*/
    for (n = 0; n < maxsize && *str; n++, str++)
        ;
    return n;
}

char *  strlwr (char * string)
{
     char * cp;
     /* validation section */
     for (cp=string; *cp; ++cp)
     {
         if ('A' <= *cp && *cp <= 'Z')
             *cp += 'a' - 'A';
     }
   return(string);
}

char * strnset (char * string,int val,size_t count)
{
char *start = string;
while (count-- && *string)
*string++ = (char)val;
return(start);
}

int  strnicmp (const char * first,const char * last,size_t count)
{
    if(count)
    {
        int f=0;
        int l=0;
        do
        {
            if ( ((f = (unsigned char)(*(first++))) >= 'A') &&
(f <= 'Z') )
                f -= 'A' - 'a';
            if ( ((l = (unsigned char)(*(last++))) >= 'A') &&
(l <= 'Z') )
                l -= 'A' - 'a';
        }
        while ( --count && f && (f == l) );
        return ( f - l );
    }
    else
    {
        return 0;
    }
}

size_t strncnt (const char *string, size_t cnt)
{
size_t n = cnt;
char *cp = (char *)string;
while (n-- && *cp)
cp++;
return cnt - n - 1;
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
系统根据B/S,即所谓的电脑浏览器/网络服务器方式,运用Java技术性,挑选MySQL作为后台系统。系统主要包含对客服聊天管理、字典表管理、公告信息管理、金融工具管理、金融工具收藏管理、金融工具银行卡管理、借款管理、理财产品管理、理财产品收藏管理、理财产品银行卡管理、理财银行卡信息管理、银行卡管理、存款管理、银行卡记录管理、取款管理、转账管理、用户管理、员工管理等功能模块。 文重点介绍了银行管理的专业技术发展背景和发展状况,随后遵照软件传统式研发流程,最先挑选适用思维和语言软件开发平台,依据需求分析报告模块和设计数据库结构,再根据系统功能模块的设计制作系统功能模块图、流程表和E-R图。随后设计架构以及编写代码,并实现系统能模块。最终基本完成系统检测和功能测试。结果显示,该系统能够实现所需要的作用,工作状态没有明显缺陷。 系统登录功能是程序必不可少的功能,在登录页面必填的数据有两项,一项就是账号,另一项数据就是密码,当管理员正确填写并提交这二者数据之后,管理员就可以进入系统后台功能操作区。进入银行卡列表,管理员可以进行查看列表、模糊搜索以及相关维护等操作。用户进入系统可以查看公告和模糊搜索公告信息、也可以进行公告维护操作。理财产品管理页面,管理员可以进行查看列表、模糊搜索以及相关维护等操作。产品类型管理页面,此页面提供给管理员的功能有:新增产品类型,修改产品类型,删除产品类型。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值