实现代码例如以下:

/*************************************************************************
> File Name: testString.h
> Author: qiaozp
> Mail: qiaozongpeng@163.com
> Created Time: 2014-9-30 11:21:15
************************************************************************/
#include <iostream>
#include <string.h>
using namespace std; //实现字符串拷贝
char* _strcpy(char* src, char* dst)
{
if (src == NULL)
{
return NULL;
}
char* tmp = src;
int i = 0;
while (*tmp)
{
dst[i++] = *(tmp++);
}
dst[i] = '\0';
return dst;
} //实现字符串追加
char* _strcat(char* dst, char* src)
{
if (src == NULL)
{
return NULL;
} char* tmp = src;
int pos = strlen(dst);
while (*tmp)
{
dst[pos++] = *(tmp++);
}
dst[pos] = '\0'; return dst;
} //实现获取字符串长度
int _strlen(char* sz)
{
char* tmp = sz;
int i = 0;
while (*tmp)
{
++i;
++tmp;
}
return i;
} //实现字符串比較
int _strcmp(char* srcA, char* srcB)
{
char* cmpA = srcA;
char* cmpB = srcB;
//1 按位比較大小
while ((*cmpA) && (*cmpB))
{
if (*cmpA = *cmpB)
{
++cmpA;
++cmpB;
continue;
}
else if (*cmpA > *cmpB)
{
return 1;
}
else
{
return -1;
}
} //2 比較长度
return _strlen(srcA) - _strlen(srcB);
} int main()
{
char* p = "you are a student.";
char e[30] = {0};
if (_strcpy(p, e) == NULL)
{
return -1;
}
cout << "拷贝后的字符串:" << e << endl; if (_strcat(e, "name : qiao") == NULL)
{
return -1;
}
cout << "追加后的字符串:" << e << endl; cout << _strlen(p) << endl; cout << _strcmp("qiao", "qiap") << endl;
}

面试基础_03实现strcpy、strcat、strcmp、strlen的更多相关文章

  1. strlen(); strcpy(); strcat(); strcmp() ---笔记

    指针小知识点: int a =10; int *p=&a; int *q=p;        //p中保存的是a的地址 int *q=p;       //将p的值赋给q 作用是让q也指向a ...

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

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

  3. 实现strlen,strcpy,strcat,strcmp同功能的函数stringLength,stringCopy,stringCatch,stringCompare

    #import <Foundation/Foundation.h> /* 求字符串长度 */ int stringLength(char arr[]); /* 复制字符串 将arr1 复制 ...

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

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

  5. 不使用库函数、自己编写的(strlen、strcpy、strcmp、strcat、memcmp、memcpy、memmove)

    不使用库函数.自己编写的(strlen.strcpy.strcmp.strcat.memcmp.memcpy.memmove) //求字符串长度的函数 int my_strlen(const char ...

  6. 转:C语言字符串操作函数 - strcpy、strcmp、strcat、反转、回文

    转自:C语言字符串操作函数 - strcpy.strcmp.strcat.反转.回文 C++常用库函数atoi,itoa,strcpy,strcmp的实现 作者:jcsu C语言字符串操作函数 1. ...

  7. C 实现strcmp,strcpy,strcat函数

    基于C语言的strcmp,strcpy,strcat函数的实现.C语言是一个程序猿的基础,一定要重视. char* strcat ( char * dst , const char * src ) { ...

  8. 字符串操作函数<string.h>相关函数strcpy,strcat,等源码。

    首先说一下源码到底在哪里找. 我们在文件中包含<cstring>时,如果点击右键打开文档, 会打开cstring,我们会发现路径为: D:\Program Files\visual stu ...

  9. 10个经典的C语言面试基础算法及代码

    10个经典的C语言面试基础算法及代码作者:码农网 – 小峰 原文地址:http://www.codeceo.com/article/10-c-interview-algorithm.html 算法是一 ...

随机推荐

  1. 滴滴云安装mysql数据库

    Linux CentOS安装配置MySQL数据库   没什么好说的,直接正面刚吧. 安装mysql数据库 a)下载mysql源安装包:wget http://dev.mysql.com/get/mys ...

  2. 2017-2-10 bash基础脚本

    练习:写一脚本,实现如下功能: 1.让用户通过键盘输入一个用户名,如果用户不存在就退出: 2.如果其UID等于其GID,就说它是个"good guy" 3.否则,就说它是个“bad ...

  3. webpack 操作

    依赖安装 :  全局安装webpack : sudo npm install webpack -g 本地安装webpack : npm install webpack —save-dev  需要注意的 ...

  4. Ask DevOps: Top 5 Business Alternatives to Splunk

    https://siliconangle.com/blog/2012/11/20/ask-devops-top-5-business-alternatives-to-splunk/

  5. STL_算法_Heap算法(堆排)(精)

    C++ Primer 学习中. . . 简单记录下我的学习过程 (代码为主) /***************************************** STL-算法--Heap算法 堆排序 ...

  6. EBS OAF开发中怎样通过ReferenceAO进行验证

    EBS OAF开发中怎样通过ReferenceAO进行验证 (版权声明.本人原创或者翻译的文章如需转载,如转载用于个人学习,请注明出处:否则请与本人联系,违者必究) Reference AO 除了用于 ...

  7. C++友元(Friend)简介

    相对Java而言,友元是C++中特有的一种元素,再加上<C++ Primer>也并没有太具体的样例,所以刚接触这个概念的时候懵了非常久,即是自己总结一下,也希望能帮到大家,以下来讲讲友元的 ...

  8. What's the difference between Unicode and UTF-8?

    https://stackoverflow.com/questions/3951722/whats-the-difference-between-unicode-and-utf-8 If asked ...

  9. reverse(两种反向生成url django原生形式和rest_framework中版本的形式)

    reverse(两种反向生成url django原生形式和rest_framework中版本的形式) views.py from django.shortcuts import render,Http ...

  10. rest_framework (版本)

    请求进来 封装request. 版本限制 认证 权限 节流 版本 self.version_param url中版本的key self.default_version self.is_allowed_ ...