一、memcpy
創(chuàng)新互聯(lián)公司是專業(yè)的金塔網(wǎng)站建設(shè)公司,金塔接單;提供成都做網(wǎng)站、成都網(wǎng)站制作,網(wǎng)頁設(shè)計,網(wǎng)站設(shè)計,建網(wǎng)站,PHP網(wǎng)站建設(shè)等專業(yè)做網(wǎng)站服務(wù);采用PHP框架,可快速的進(jìn)行金塔網(wǎng)站開發(fā)網(wǎng)頁制作和功能擴(kuò)展;專業(yè)做搜索引擎喜愛的網(wǎng)站,專業(yè)的做網(wǎng)站團(tuán)隊(duì),希望更多企業(yè)前來合作!memcpy函數(shù)的功能是從源src所指的內(nèi)存地址的起始位置開始拷貝n個字節(jié)到目標(biāo)dest所指的內(nèi)存地址的起始位置中。
void* my_memcpy(void* dest, const void *src, size_t n) { assert(dest); assert(src); char* dest_t = (char*)dest; char* src_t =(char*) src; while (n--) { *dest_t = *src_t; dest_t++; src_t++; } return dest; }
二、memmove
memmove用于從src拷貝n個字符到dest,如果目標(biāo)區(qū)域和源區(qū)域有重疊的話,memmove能夠保證源串在被覆蓋之前將重疊區(qū)域的字節(jié)拷貝到目標(biāo)區(qū)域中。但復(fù)制后src內(nèi)容會被更改。但是當(dāng)目標(biāo)區(qū)域與源區(qū)域沒有重疊則和memcpy函數(shù)功能相同。
void* my_memmove(void* dest, const void*src, size_t n) { assert(dest); assert(src); void *ret = dest; char* dest_t = (char*)dest; char* src_t = (char*)src; if (dest_t <= src_t || dest_t >= (src_t + n)) { // 若dst和src區(qū)域沒有重疊,則從起始處開始逐一拷貝; while (n--) { *dest_t++ = *src_t++; } } else { // 若dst和src 區(qū)域交叉,則從尾部開始向起始位置拷貝,可以避免數(shù)據(jù)沖突 dest_t += n - 1; src_t += n - 1; while (n--) { *dest_t-- = *src_t--; } } return ret; }
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價比高”等特點(diǎn)與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。