字符串函数(String processing function)也叫字符串处理函数,指的是编程语言中用来进行字符串处理的函数,如C,pascal,Visual以及LotusScript中进行字符串拷贝,计算长度,字符查找等的函数
strlen
| strlen | |
| 头文件 | #include <string.h> |
| 格式 | size_t strlen( const char* str) |
| 功能 | 计算字符串长度 |
| 返回值 | 返回字符串的长度 |
//strlen的模拟实现
#include<stdio.h>
#include<assert.h>
size_t my_strlen(const char* str)
{
assert(str); int count = 0;
while (*str != '\0')
{
str++;
count++;
}
return count;
}strcat
| strcat | |
| 头文件 | #include <string.h> |
| 格式 | char* strcat(char* dest,const char* src) |
| 功能 | 追加子字符串到目标字符串后 |
| 返回值 | 目标字符串的首地址 |
//strcat模拟实现
#include<stdio.h>
#include<assert.h>
char* my_strcat(char* str1,const char *str2)
{
assert(str1, str2);
char* tmp = str1;
//找出str1中的斜杠零
while (*str1)
{
str1++;
}
//在str1上追加
while (*str1++=*str2++)
{
;
}
return tmp;
}
int main()
{
char arr1[20] = "hello";
char arr2[] = " world";
printf("%s",my_strcat(arr1,arr2));
return 0;
}strcpy
| strcpy | |
| 头文件 | #include <string.h> |
| 格式 | char* strcpy(char* dest,char* src) |
| 功能 | 将参数src字符串拷贝至参数dest所指的地址 |
| 返回值 | 目标字符串的首地址 |
//模拟实现strcpy
#include<stdio.h>
#include<assert.h>
char* my_strcpy(char *str2,char *str1)
{
assert(str1, str2);
char* tmp = str2;
while (*str1)
{
*str2++ = *str1++;
}
return tmp;
}
int main()
{
char arr1[20] = "abcdef";
char arr2[20] = "xxxxxxxxxxxxx";
my_strcpy(arr2,arr1);
printf("%s", arr2);
return 0;
}strcmp
| strcmp | |
| 头文件 | #include <string.h> |
| 格式 | int strcmp (const char* str1,const char* str2) |
| 功能 | 比较两字符串的大小 |
| 返回值 | str1>str2 返回值>0 str1<str2 返回值<0 str1=str2 返回值=0 |
//strcmp模拟实现
#include<stdio.h>
#include<assert.h>
int strcmp(const char* str1,const char* str2)
{
assert(str1, str2);
while (*str1 == *str2)
{
str1++;
str2++;
}
return *str1 - *str2;
}
int main()
{
char arr1[] = "abc";
char arr2[] = "abcd";
printf("%d", strcmp(arr1, arr2));
return 0;
}strstr
| strstr | |
| 头文件 | #include <string.h> |
| 格式 | char* my_strstr(const char*str,const char* substr) |
| 功能 | 在目标字符串中查找子字符串 |
| 返回值 | 目标字符串中,与子字符串相同的字符串首地址 |
#include<stdio.h>
#include<assert.h>
char* my_strstr(const char*str,const char* substr)
{
char* s1 = str;//防止str被破坏
char* s2 = substr;//防止substr被败坏
char* cur = str;//存储中间地址
assert(str && substr);
//排除substr为空
if (substr == '\0')
{
return str;
}
while (*cur)
{
s1 = cur;
s2 = substr;
while (*s1 && *s2 && *s1 == *s2)
{
s1++;
s2++;
}
if (*s2 == '\0')
return cur;
cur++;
}
return NULL;
}
int main()//模拟实现strstr函数
{
char arr1[] = "abbbcdef";
char arr2[] = "bbc";
printf("%s", my_strstr(arr1, arr2));
return 0;
}到此这篇关于C语言字符串函数介绍与模拟实现详解的文章就介绍到这了,更多相关C语言 字符串函数内容请搜索编程学习网以前的文章希望大家以后多多支持编程学习网!
织梦狗教程
本文标题为:C语言字符串函数介绍与模拟实现详解
基础教程推荐
猜你喜欢
- centos 7 vscode cmake 编译c++工程 2023-09-17
- C++实战之二进制数据处理与封装 2023-05-29
- C语言实现宾馆管理系统课程设计 2023-03-13
- [C语言]二叉搜索树 2023-09-07
- C语言编程C++旋转字符操作串示例详解 2022-11-20
- 带你深度走入C语言取整以及4种函数 2022-09-17
- 全面了解C语言 static 关键字 2023-03-26
- C语言 详解字符串基础 2023-03-27
- C++实现ETW进行进程变动监控详解 2023-05-15
- [c语言-函数]不定量参数 2023-09-08
