实现字符串函数,strlen(),strcpy(),strcmp(),strcat()

 1 #include<stdio.h>
 2 #include<stdlib.h>
 3
 4 int my_strlen(char *str);
 5 char *my_strcpy(char *dest, char *src);
 6 char *my_strcat(char *dest, char *src);
 7 int my_strcmp(char *str1,char *str2);
 8
 9 int main()
10 {
11     char dest[32] = "chen";
12     char src[32] = "chengha";
13     int res;
14     //printf("strlen(%s) = %d\n",str,my_strlen(str));
15     res = my_strcmp(dest,src);
16     printf("res = %d\n",res);
17     //puts(dest);
18     system("pause");
19     return 0;
20 }
21
22 int my_strlen(char *str)
23 {
24     int len = 0;
25     while(*str != ‘\0‘)
26     {
27         len++;
28         str++;
29     }
30     return len;
31 }
32
33 char *my_strcpy(char *dest, char *src)
34 {
35     char *address = dest;
36     while((*dest = *src) != ‘\0‘)
37     {
38         dest++;
39         src++;
40     }
41     return address;
42 }
43
44 char *my_strcat(char *dest, char *src)
45 {
46     char *address = dest;
47     while(*dest != ‘\0‘)
48         dest++;
49     while((*dest = *src) != ‘\0‘)
50     {
51         dest++;
52         src++;
53     }
54     return address;
55 }
56
57 int my_strcmp(char *str1,char *str2)
58 {
59     for(; *str1 == *str2; str1++, str2++)
60         if(*str1 == ‘\0‘)
61             return 0;
62     return *str1 - *str2;
63 }
时间: 2024-10-13 06:44:32

实现字符串函数,strlen(),strcpy(),strcmp(),strcat()的相关文章

各种字符串函数(strcpy,strcmp,strlen)之深度剖析

//字符串复制函数1 void strcpy1(char str1[], char str2[]){ int i = 0; for (; str2[i] != '\0'; i++){ str1[i] = str2[i]; } str1[i] = '\0'; } //2 void strcpy2(char str1[], char str2[]){ int i = 0; while (str1[i] = str2[i])i++; } //字符串长度函数1 int strlen1(char str[

教教大家一些strcpy,strcmp,strcat,strlen函数的写法

VC源码: strcmp函数的写法: #include<stdio.h> #include<string.h> int strcmp1(char* a, char* b) { for(;*a==*b;a++,b++) if(*a!='\0') return 0; return *a - *b; } main() {  int l; char a[10]={"db"}; char b[10]={"cb"}; l=strcmp1(a,b); pr

C基础--字符串操作函数(strlen,strcpy,strcmp,strcat,strstr,strtok)

#include <stdio.h> #include <string.h> int main(void) { //char dest[10]; //#define NULL (void *)0 //char *dest = NULL; //dest是野指针,指向的区域没有可读写空间 //char dest[3]; //char src[] = "hello"; char str1[10] = "hello"; //char str2[10]

字符串函数(strcpy字符串拷,strcmp字符串比较,strstr字符串查找,strDelChar字符串删除字符,strrev字符串反序,memmove拷贝内存块,strlen字符串长度)

1.strcpy字符串拷贝拷贝pStrSource到pStrDest,并返回pStrDest地址(源和目标位置重叠情况除外) char *strcpy(char *pStrDest, const char *pStrSource) { assert(NULL!=pStrDest && NULL!=pStrSource); char *strTemp=pStrDest; while ((*pStrDest++ = *pStrSource++) != '\0'); return strTemp

模拟实现部分库函数(strcpy,strcmp,strcat,strstr,memcpy,memmove,memset)

//1.strcpy(拷贝) char* my_strcpy(char*dst, const char*src) {  assert(dst);  assert(src);  char* cp = dst;  while (*cp++ = *src++)  {   ;  }  return dst; } //2.strcat(连接) char* my_strcat(char*dst, const char*src) {  assert(dst);  assert(src);  char* cp 

strlen, strcpy, strcmp, memcpy 的实现

#include <iostream> using namespace std; namespace MyString { size_t strlen(const char* str); char* strcpy(char* dst, const char* src); int strcmp(const char* str1, const char* str2); } size_t MyString::strlen(const char* str) { if (str == NULL) ret

C语言 &gt; 字符串和字符串函数

输入 gets() 函数 : 1.gets() 从标准输入设备读取字符串,以回车结束读取,使用'\0'结尾,回车符'\n'被舍弃没有遗留在缓冲区. 2.可以用来输入带空格的字符串. 3.可以无限读取,不会判断上限,因此使用gets不安全,可能会造成溢出. fgets() 和 fputs() 函数 : 1.fgets函数的第2个参数指明了读入字符的最大数量.如果该参数是n, 那么fgets会读入n-1 个字符,或者读到第一个换行符为止 2.如果fgets函数读到一个换行符, 会储存在字符串中 3.

十二、字符串(2)——字符串函数

1.单字符输入输出,用 putchar 和 getchar int putchar(int c); //向标准输出写一个字符 //返回写了几个字符,EOF(-1)表示写失败 int getchar(void); //从标准输入读入一个字符 //返回类型是int是为了返回EOF(-1); //Windows --> Ctrl-Z //Unix --> Ctrl-D 标准库中的字符函数 #include<string.h> strlen.strcmp.strcpy.strcat.str

字符串函数,时间函数,数学函数,数组

字符串函数 strlen 获取字符串的长度,这里的长度是指该字符串的字节的长度! substr 从指定字符串中的指定位置开始,截取指定长度的字符!sub在这里是截取的意思,substr就是字符串截取函数 需要三个参数: 1, 指定的字符串 2, 截取起始位置(以0开始) 3, 截取的长度 strtolower | strtoupper 把字符串全部转换为小写|大写!  仅针对英文有效,也针对汉字中的英文有效! strrev 把字符串反转! strpos 从左往右查找并返回字符串中某个字符的起始位