打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
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;
}
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
memset与memcpy函数使用详细说明
用C语言编写一个函数,把一个字符串循环右移n位
mem.h函数库
IT公司笔试面试题系列(一)
C++无锁循环缓冲实现
C++中字符串的介绍
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服