新闻中心

EEPW首页 > 嵌入式系统 > 设计应用 > C++中用memcpy()函数复制字符串的正确方法

C++中用memcpy()函数复制字符串的正确方法

作者:时间:2016-12-01来源:网络收藏
//对字符最容易忽视的是字符串结尾会默认添加一个不可见的‘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;

}

本文引用地址:http://www.eepw.com.cn/article/201612/324415.htm
int _tmain(int argc, _TCHAR* argv[])
{
char *a="aaaabaaaaaabaa";
char *b="aba";
int len=Findsub(a,b);
printf("------------%d",len);
return 0;
}


评论


相关推荐

技术专区

关闭