//对字符最简单忽视的是字符串结束会默许增加一个不行见的‘0’
//因而用memcpy()函数对字符串仿制时容器一定要多请求一个字节。
//如:char*p1=”copy”;要想把其copy到另一个空间中有必要请求5Byte的空间:
//做法:char *p2=(char*)melloc(5);memcpy(p2,p1,4);;p2[5]=0;至此完结仿制;
//如: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;
}