自己实现的字符串处理函数

1、strcat(字符串连接函数)

一般形式strcat(字符数组1,字符数组2),将字符串2接到字符串1后面

char* my_strcat(char* StrDest, const char* StrSrc)
{
    char  *des = StrDest;
    assert((StrDest!=NULL)&&(StrSrc!=NULL));
    while (*StrDest)
    {
        StrDest++;
    }//StrDeest指向‘\0‘,可以直接赋值吗?
    while (*StrDest++!= *StrSrc++);
    return des;
    }

调用时两个参数要传字符数组,字符数组必须足够大到可以容纳字符数组2

int main()
{
    char str1[20] = "I am ";
    char str2[10] = "a student";
     puts(my_strcat(str1, str2));
}

2、strcpy(字符串复制函数)

一般形式strcpy(字符数组1,字符串2),将字符串2复制到字符数组1中去

char* my_strcpy(char* StrDest,const char* StrSrc)
{
    char  *des = StrDest;
    assert((StrDest!=NULL)&&(StrSrc!=NULL));
    while (*StrDest++ = *StrSrc++);//<-
    return des;
    }

int main()
{
    char str1[20] = "I am 345453656";
    char str2[]="a student";
    puts(my_strcpy(str1, "ccc"));//ccc
     puts(my_strcpy(str1, str2));//a student

不能用赋值语句将字符串常量或字符数组给字符数组(用strcpy函数)

str1="china";

str1=str2;

3、strlen(字符串长度)

一般形式strcpy(字符数组)

int  my_strlen(const char* str)
{
    assert(str != NULL);
    int len = 0;
    while (*str++!=‘\0‘)
    {
        len++;
    }
    return len;
}

4、strcmp(字符串比较函数)

一般形式strcpy(字符串1,字符串2),比较字符串1和字符串2

int my_strcmp(const char* strDest, const char* strSrc)
{
    assert(strDest != NULL && strSrc != NULL);    const char* pDest = strDest;
    const char* pSrc = strSrc;
    int result = 0;
    while (*pDest != ‘\0‘ || *pSrc != ‘\0‘)
    {
        if ((result = *pDest - *pSrc) != 0)
        {
            break;    //当两字符不相等时跳出,相等是继续往后指
        }
        pDest++;
        pSrc++;
    }
    if (result > 0)
    {
        result = 1;
    }
    else if (result<0)
    {
        result = -1;
    }
    return result;
}
时间: 2024-11-04 17:39:47

自己实现的字符串处理函数的相关文章

面试题之java 编写一个截取字符串的函数,输入为一个字符串和字节数,输出为按字节截取的字符串。 要求不能出现截半的情况

题目:10. 编写一个截取字符串的函数,输入为一个字符串和字节数,输出为按字节截取的字符串. 但是要保证汉字不被截半个,如“我ABC”4,应该截为“我AB”,输入“我ABC汉DEF”,6,应该输出为“我ABC”而不是“我ABC+汉的半个”. 一.需要分析 1.输入为一个字符串和字节数,输出为按字节截取的字符串-------------->按照字节[byte]截取操作字符串,先将String转换成byte类型 .2.汉字不可以截半----------------------------------

PHP内置的字符串处理函数

字符串的特点    1.其他类型的数据用在字符串类型处理函数中,会自动将其转化成字符串后,在处理 <?php echo substr("abcdefghijklmn",2,4),"<br>"; //cdef //使用数字会自动转化为字符串 echo substr(123456,2,4); //3456 ?> 2.可以将字符串视为数组,当做字符集合来看待 <?php $str="abcdefg"; //下面这两种方法都

字符串处理函数总结

字符串函数(String processing function)也称为字符串处理函数,指的是编程语言中用来进行字符串处理的函数. C语言中常用的字符串函数: strcpy 原型:extern char *strcpy(char *dest,char *src); 用法:#include <string.h> 功能:把src所指由NUL结束的字符串复制到dest所指的数组中. 返回指向dest结尾处字符(NUL)的指针. 举例: // strcpy.c #include <syslib.

编写实现字符串拷贝函数strcpy()完整版

有个题目编程实现字符串拷贝函数strcpy(),很多人往往很快就写出下面这个代码. void strcpy( char *strDest,char *strSrc ) { while(( *strDest++ = * strSrc++) != '\0' );//逐个赋值字符串数组中的数据,知道字符串结束 } 其实仔细看看这个实现过程并不完美,严格来说非常不严谨,我们可以完善一下. char * strcpy( char *strDest, const char *strSrc )//将源字符串加

几个常见字符串处理函数的实现原理

字符串是一种常见的数据结构,对字符串的处理又可以十分灵活,所以在实际开发,尤其是非数值处理中,字符串的应用非常广泛.虽然很多字符串操作都封装在了函数库里,应用程序可以直接通过调用库函数来实现字符串处理,然而对于开发者而言,若能了解其底层实现原理,对于应用编程而言还是大有裨益的. 这篇文章主要介绍几种常用的字符串处理函数的实现原理. 一.strlen函数 strlen函数:计算字符串的实际长度,不包括'\0'. 算法:从第一个字符开始扫描,直到遇见第一个'\0',停止扫描,返回字符串长度. 代码如

php 字符串分割函数split

说明 array split    ( string $pattern   , string $string   [, int $limit  ] ) 本函数返回一个字符串数组,每个单元为   string 经区分大小写的正则表达式   pattern 作为边界分割出的子串.如果设定了   limit,则返回的数组最多包含   limit 个单元,而其中最后一个单元包含了   string 中剩余的所有部分.如果出错,则   split() 返回 FALSE. Example #1 split(

c#中的字符串查找函数

indexOf()方法,查找某字符串在一个字符串内的位置,没有则返回-1string aa="abcdef";int a=aa.indexOf("bc");//a会等于1int b=aa.indexOf("a");//b会等于0int c=aa.indexOf("g");c会等于-1所以你只要判断返回出来的int值是不是小于0就知道这个字符串里有没有包含指定的另一个字符串 c#中的字符串查找函数,布布扣,bubuko.com

C字符串处理函数

void *memccpy (void *dest, const void *src, int c, size_t n); 从src所指向的对象复制n个字符到dest所指向的对象中.如果复制过程中遇到了字符c则停止复制,返回指针指向dest中字符c的下一个位置:否则返回NULL. void *memcpy (void *dest, const void *src, size_t n); 从src所指向的对象复制n个字符到dest所指向的对象中.返回指针为dest的值. void *memchr

php常用字符串处理函数

PHP 字符串函数是 PHP 核心的组成部分.无需安装即可使用这些函数. 常用的字符串处理函数: str_replace():替换字符串中的一些字符(对大小写敏感). str_repeat():把字符串重复指定的次数. strlen():返回字符串的长度. stripos():返回字符串在另一字符串中第一次出现的位置(对大小写不敏感). str_split():把字符串分割到数组中. trim():移除字符串两侧的空白字符和其他字符. ltrim():移除字符串左侧的空白字符或其他字符. rtr

php字符串处理函数大全

php字符串处理函数大全 addcslashes - 为字符串里面的部分字符添加反斜线转义字符addslashes - 用指定的方式对字符串里面的字符进行转义bin2hex - 将二进制数据转换成十六进制表示chop - rtrim() 的别名函数chr - 返回一个字符的ASCII码chunk_split - 按一定的字符长度将字符串分割成小块convert_cyr_string - 将斯拉夫语字符转换为别的字符convert_uudecode - 解密一个字符串convert_uuencod