微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > C++中用memcpy()函数复制字符串的正确方法

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

时间: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;

}

int _tmain(int argc, _TCHAR* argv[])

{

char *a="aaaabaaaaaabaa";

char *b="aba";

int len=Findsub(a,b);

printf("------------%d",len);

return 0;
}

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top