位置计算字符串长度

//strlen()函数,当遇到'\0'时,计算结束,'\0'不计入长度之内

//字符串的拷贝
        //strcpy(字符串1,字符串2);
        //把字符串2中从一个元素到一个'\0'(包括'\0')的字符串,拷贝到字符串1(CNG字符串1的第一个元素开始)
        //注意:如果做拷贝,字符串1应该足够大,否则会越界

//字符串的拼接
        //strcat(字符串1,字符串2)
        //把字符串2从第一个元素到第一个'\0'(包括'\0')的字符串,拼接到字符串1的第一个'\0'(从'\0'开始)后面

//字符串的比较
        //strcmp(字符串1, 字符串2)
        //0:表示两个字符串相等
        //用字符串1的每一个元素和字符串2对应的元素做比较(字符串1元素的ASICC值 - 对应字符串2元素的ASICC值),当比较的结果不为0时,结束,或者当两个字符串对应的元素都

//自定义实现计算字符串的长度

unsigned long myStrlen(char string[])
{
    unsigned long length = 0;
    
    while (string[length] != '\0') {
        length++;
    }
    
    return length;
}
//自定义实现字符串的拷贝
void myStrcpy(char string1[], char string2[])
{
    int i = 0;
    while (string2[i] != '\0') {
        string1[i] = string2[i];
        i++;
    }
    string1[i] = '\0';
}
//自定义函数实现字符串的凭拼接
void myStrcat(char string1[], char string2[])
{
    //找string1的'\0'位置
    int i = 0;
    while (string1[i] != '\0') {
        i++;
    }
    
    //把string2加到string1后面
    int j = 0;
    while (string2[j] != '\0') {
        string1[i++] = string2[j++];
    }

//不要忘记在最后添加\0
    string1[i] = '\0';
}
//自定义函数实现字符串的比较
int myStrcmp(char string1[], char string2[])
{
    int i = 0;
    while (string1[i] == string2[i] && string1[i] != '\0') {
        i++;
    }
    
    return string1[i] - string2[i];
}

 
 

自定义方法实现strcpy,strlen, strcat, strcmp函数,了解及实现原理的更多相关文章

  1. strcpy,strlen, strcat, strcmp函数,strlen函数和sizeof的区别

    //计算字符串实际长度        //strlen()函数:当遇到'\0'时,计算结束,'\0'不计入长度之内,如果你只定义没有给它赋初值,这个结果是不定的,它会从首地址一直找下去,直到遇到'\0 ...

  2. strcpy/strlen/strcat/strcmp面试总结

    <strcpy拷贝越界问题> 一. 程序一 #include<stdio.h> #include<string.h> void main() { char s[]= ...

  3. strcpy/strlen/strcat/strcmp的实现

    一.字符串拷贝strcpy 函数strcpy的原型是char* strcpy(char* des , const char* src),des 和 src 所指内存区域不可以重叠且 des 必须有足够 ...

  4. 面试题之strcpy/strlen/strcat/strcmp的实现

    阿里的电面要我用C/C++实现一个字符串拷贝的函数,虽然以前写过 strcpy 的函数实现,但时间过去很久了,再加上有点紧张,突然就措手不及了.最后写是写出来了,但没考虑异常的情况,面试官好像很不满意 ...

  5. strlen、strcmp、strcat、strcpy、memcpy基础函数的实现

    最近实习+投简历+琐事弄得自己忙的不行不行的,终于今天可以开始记录一些东西了... 1.strlen函数的实现 int strlen(const char *str){ assert(str!=NUL ...

  6. C语言中strcpy,strcmp,strlen,strcat函数原型

    //strcat(dest,src)把src所指字符串添加到dest结尾处(覆盖dest结尾处的'\0')并添加'\0' char *strcat(char * strDest, const char ...

  7. strlen函数,strcat函数,strcpy函数,strncpy函数,strcmp函数

    strcpy函数: char *strcpy(char *Dest , const char *Src) { assert((Dest != NULL) && (Src != NULL ...

  8. c/c++面试题(3)strcat/strcmp/strlen/strcpy的实现

    1.编写一个函数实现strlen以及strcpy函数. strcpy函数. 后面的字符串拷贝到一个字符数组中,要求拷贝好的字符串在字符数组的首 地址,并且只拷贝到'\0'的位置.原型是 char* m ...

  9. 写出完整版的strcpy函数及其他如:strcat,strcmp,strstr的函数实现

    (---牛客网中刷题---)写出完整版的strcpy函数 如果编写一个标准strcpy函数的总分值为10,下面给出几个不同得分的答案: 2分 1 2 3 4 void strcpy( char *st ...

随机推荐

  1. 快快快!27个提升效率的iOS开源库推荐(转)

    CSDN移动将持续为您优选移动开发的精华内容,共同探讨移动开发的技术热点话题,涵盖移动应用.开发工具.移动游戏及引擎.智能硬件.物联网等方方面面.如果您想投稿.参与内容翻译工作,或寻求近匠报道,请发送 ...

  2. Python Env

    简介: 记录 CentOS 6.x Python 环境的安装步骤. 一.安装依赖包 shell > yum -y install epel-release shell > yum -y i ...

  3. Jquery和Ajax

    jQuery 是一个 JavaScript 函数库.JavaScript 是 HTML5 以及所有现代浏览器中的默认脚本语言! jQuery 库包含以下特性: HTML 元素选取 HTML 元素操作 ...

  4. How to Pronounce Ending T Clusters + Homophones — Baking!

    How to Pronounce Ending T Clusters + Homophones — Baking! Share Tweet Share Tagged With: ARE Reducti ...

  5. 构造函数中的super和this的使用

    super用于调用父类构造函数的部分,其必须出现在构造函数的第一行.super在调用时第一件事就是去执行父类构造函数的部分,所执行的父类构造函数与super()括号中的参数相对应. this用于在一个 ...

  6. Ubuntu中解决机箱前置耳机没声音

    Ubuntu中解决机箱前置耳机没声音 安装pavucontrol软件: sudo apt-get install pavucontrol 然后直接运行pavucontrol打开软件: 将输出设备设置为 ...

  7. Asp.net中判断是否是指定页面请求的代码示例

    //获取请求网址,非法请求,返回主页 if (Request.UrlReferrer != null) { string requstUrl = Request.UrlReferrer.Absolut ...

  8. mongo远程登录

    1. 进入数据库: use admin db.addUser("foo","foo"); ps:高版本用db.createUser创建. 2. 改配置 如/et ...

  9. fiddler抓web请求

    原理 fiddler抓包原理 fiddler 调试器注册到操作系统因特网服务中,系统所有的网络请求都会走fiddler的代理,所以fiddler才能抓包. Debug traffic from any ...

  10. 二叉树的最大/小/平衡 深度 depth of binary tree

    [抄题]: 给定一个二叉树,找出其最大深度. 二叉树的深度为根节点到最远叶子节点的距离. [思维问题]: [一句话思路]: 分合法的定义 [输入量]:空: 正常情况:特大:特小:程序里处理到的特殊情况 ...