您的位置 首页 资料

C++顶用memcpy()函数仿制字符串的正确办法

对字符最容易忽视的是字符串结尾会默认添加一个不可见的lsquo;0rsquo;因此用memcpy()函数对字符串复制时容器一定要多申请一个字节。

//对字符最简单忽视的是字符串结束会默许增加一个不行见的‘0’

//因而用memcpy()函数对字符串仿制时容器一定要多请求一个字节。
//如:char*p1=”copy”;要想把其copy到另一个空间中有必要请求5Byte的空间:
//做法:char *p2=(char*)melloc(5);memcpy(p2,p1,4);;p2[5]=0;至此完结仿制;
#include “stdafx.h”
#include “string.h”
#include “malloc.h”

int Findsub(char *all,char *sub)

{
int count=0;
int len1=strlen(sub);
char *buffer=(char *)malloc(len1+1);//中间量内存的请求
while(*(all+len1-1)!=)
{
memcpy(buffer,all,len1);//截取,存入buffer
buffer[len1]=;
if(strcmp(buffer,sub)==0)
{
count++;
all+=len1;
//all++;
}
else
{
all++;
}
}
free(buffer);
return count;

}

int _tmain(int argc, _TCHAR* argv[])
{
char *a=”aaaabaaaaaabaa”;
char *b=”aba”;
int len=Findsub(a,b);
printf(“————%d”,len);

return 0;
}

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/ziliao/317570.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部