新聞中心

EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > C++中用memcpy()函數(shù)復(fù)制字符串的正確方法

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

作者: 時(shí)間:2016-12-01 來源:網(wǎng)絡(luò) 收藏
//對(duì)字符最容易忽視的是字符串結(jié)尾會(huì)默認(rèn)添加一個(gè)不可見的‘0’
//因此用memcpy()函數(shù)對(duì)字符串復(fù)制時(shí)容器一定要多申請(qǐng)一個(gè)字節(jié)。
//如:char*p1="copy";要想把其copy到另一個(gè)空間中必須申請(qǐng)5Byte的空間:
//做法:char *p2=(char*)melloc(5);memcpy(p2,p1,4);;p2[5]=0;至此完成復(fù)制;
#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);//中間量?jī)?nèi)存的申請(qǐng)
while(*(all+len1-1)!=