我是靠谱客的博主 甜蜜云朵,这篇文章主要介绍C语言:模拟实现strlen、strcpy、strcmp、strReverse、strcat函数,现在分享给大家,希望可以做个参考。

环境: Windows8,Visual Studio 2013
语言: C语言

什么是C语言里的字符串?

复制代码
1
2
3
4
字符串或串(String)是由数字、字母、下划线组成的一串字符。一般记为s=“a1a2···an”(n>=0)。它是编程语言中表示文本的数据类型。 通常以串的整体作为操作对象,如:在串中查找某个子串、求取一个子串、在串的某个位置上插入一个子串以及删除一个子串等。两个字符串相等的充要条件是:长度相等,并且各个对应位置上的字符都相等。设p、q是两个串,求q在p中首次出现的位置的运算叫做模式匹配。串的两种最基本的存储方式是顺序存储方式和链接存储方式。 C语言中认为以字符形式保存,以‘’结尾的串为字符串。

字符的ASCII编码表
ascii
(图片来源:百度百科)


字符串函数(皆为模拟string.h文件中常用的函数)

1.字符串连接

复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
char *mystrcat(char* des,const char* str) { assert(des); assert(str); char *p = des; while (*p) { p++; } while (*p++ = *str++) { ; } return des; }

2.字符串比较

复制代码
1
2
3
4
5
6
7
8
9
10
11
12
//str1大返回1,两者相同返回0,str2大返回-1 int mystrcmp (const char * src, const char * dst) { int ret = 0 ; while( ! (ret = *(unsigned char *)src - *(unsigned char *)dst) && *src) ++src, ++dst; if ( ret < 0 ) ret = -1 ; else if ( ret > 0 ) ret = 1 ; return( ret ); }

4.字符串逆置

复制代码
1
2
3
4
5
6
7
8
9
10
11
12
void strRev(char *s) { char temp, *end = s + strlen(s) - 1; while( end > s) { temp = *s; *s = *end; *end = temp; --end; ++s; } }

字符串逆置更多内容
5.字符串求长

复制代码
1
2
3
4
5
6
7
8
9
10
11
size_t mystrlen(const char *str)//字符串求长 { assert(str); int i = 0; while (*str != '') { i++; str++; } return i; }

以上是一些基本常用函数的整理,接下来我会将他们单独罗列出来进行一一详解,期待你的关注!!!

最后

以上就是甜蜜云朵最近收集整理的关于C语言:模拟实现strlen、strcpy、strcmp、strReverse、strcat函数的全部内容,更多相关C语言内容请搜索靠谱客的其他文章。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(50)

评论列表共有 0 条评论

立即
投稿
返回
顶部