时间:2021-05-20
C语言字符函数、内存函数 功能及实现 strlen函数(求字符串长度)注意点模拟实现 strcpy函数(字符串拷贝函数)注意点模拟实现 strcat函数(字符串衔接函数)注意点模拟实现 strcmp函数注意点模拟实现 strstr函数模拟实现 strtok函数使用 strerror函数使用 memcpy函数注意点模拟实现 memmove函数注意点模拟实现 memset函数注意点
统计字符串长度直到\0为止
1、属于<string.h>库
2、参数为字符串,返回类型为无符号整型,特别注意下图
此图运行结果为>,因为无符号整型加减必为大于0的数,所以此类比较需要避免
3、结束标志为\0
将sorc数组内第一个\0前(包括\0)的所有内容拷贝到dest数组。
1、dest数组需要足够容纳source数组
2、source数组一定要有\0作为中止标识
3、dest数组要可以更改
4、\0会被拷入
从dest数组的第一个\0开始将sorc函数内第一个\0前的全部内容拷贝,dest函数的第一个\0会被覆盖,sorc函数的\0会被拷入。
1、dest数组要足够容纳自身和source数组
2、dest数组必须空间可修改
3、dest、source数组都有\0
4、不可以自己拷贝自己,因为没有中止条件
比较两个字符串,逐位比较,若对应位不相同则返回ASCII码相减的值,若每一位相同(即整个字符串相同)返回0。
1、比较的不是长度,而是对应位置的ASCII码值
在母串中寻找子串,若找到则返回母串中子串的首地址,若没找的则返回空指针
此处使用暴力方法求解,KMP算法可提供更优解
char *my_strstr(char *mum, char *child){ assert(mum && child); const char *pc = mum; while (*pc) { const char *p1 = pc; const char *p2 = child; while (*p1 == *p2 && *p1 && *p2) { p1++; p2++; } if (*p2 == '\0') { return (char *)pc; } pc++; } return NULL;}1、两个参数(arr源字符串,sep符号字符串(切割标志))
2、希望得到第二个字符串时候需要传入空指针
使用
int main(){ char arr[]="skyline&csdn.com"; char arr2[30]={0};//因为strtok函数会修改源数组,通常复制后处理 char sep[]="&."; strcpy(arr2,arr); printf("%s\n",strtok(arr2,sep)); printf("%s\n",strtok(NULL,sep)); printf("%s\n",strtok(NULL,sep)); return 0;}结果:
生成不同的错误报警
使用
int main(){ prinf("%s\n",strerror(errno));//根据程序出现的问题输出报错字符串}一个字节一个字节的拷贝,共拷贝count个字节;
1、此函数要对两个不相关的内存块(若相同由于算法限制无法)比如
int main(){ int num1[6] = {1, 2, 3, 4, 5, 6}; my_memcpy(num1+2, num1, 16);//希望得到121234 //实际得到121212 for (int i = 0; i < 6;i++){ printf("%d", num1[i]); } return 0;}1、可以接受上文出现的相关内存
将一个个字节设置为某个值,共设置count个字节
1、以字节为单位设置的,如果int num[10]={0},memset(num,1,40),并不能使得数组全为1,因为int数组中一个元素为4个字节实际是,每个元素变成01 01 01 01,所以这是错误的
到此这篇关于C语言字符函数、内存函数 功能及实现的文章就介绍到这了,更多相关C语言字符函数、内存函数内容请搜索以前的文章或继续浏览下面的相关文章希望大家以后多多支持!
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
C语言bcopy()函数:复制内存(字符串)头文件:#includebcopy()函数用来复制内存(字符串),其原型为:voidbcopy(constvoid*
C语言中memcpy函数的用法详解memcpy(内存拷贝函数)c和c++使用的内存拷贝函数,memcpy函数的功能是从源src所指的内存地址的起始位置开始拷贝n
C语言去除相邻重复字符函数的实现方法字符去重函数功能:去重字符串相邻重复的字符,不相邻的不用去重参数:arg1--输入字符串arg2--字符串开始位置arg3-
摘要C实现将txt数据读入内存/CPU缓存的函数,不多说,实现如下。1.实现代码#include"stdafx.h"#include#includeintfil
Ⅰ)字符串复制函数字符串复制是字符串操作中比较常用的操作之一。C语言库函数中提供的字符串复制函数是:strcpy函数。该函数的功能为:把源字符数组中的字符串复制