资讯详情

C++中用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)!='\0') { memcpy(buffer,all,len1);//截取,存入buffer buffer[len1]='\0'; 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\n",len); return 0; }

-电子元器件采购网(www.ruidan.com)是本土元器件目录分销商,采用“小批量、现货、样品”销售模式,致力于满足客户多型号、高质量、快速交付的采购需求。 自建高效智能仓储,拥有自营库存超过50,000种,提供一站式正品现货采购、个性化解决方案、选型替代等多元化服务。
锐单商城拥有海量元器件数据手册IC替代型号,打造 电子元器件IC百科大全!

锐单商城 - 一站式电子元器件采购平台