欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

專注電子技術學習與研究
當前位置:單片機教程網 >> MCU設計實例 >> 瀏覽文章

C++中用memcpy()函數復制字符串的正確方法

作者:黃石磊   來源:本站原創   點擊數:  更新時間:2014年03月05日   【字體:
//對字符最容易忽視的是字符串結尾會默認添加一個不可見的‘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;
}

關閉窗口

相關文章