天天看點

記憶體複制函數memcpy與記憶體替換函數memset

一.memcpy函數聲明:

void *memcpy(
	void* dest,
	const void* src,
	size_t count
);
           

作用是從src指向的記憶體位址開始,複制count個位元組到dest指向的記憶體位址。

故dest指向的記憶體位址必須是一片已經配置設定好的記憶體空間首位址。

memcpy由于是複制記憶體,故可用于複制任何資料,包括int、char、結構體、類、圖檔、文檔,等等。

頭檔案:

C語言中使用#include <string.h>;

C++中使用#include <cstring>和#include<string.h>都可以。

通常在複制字元串時用strcpy,而需要複制其他類型資料時則一般用memcpy

二.memset函數聲明:

void*memset(void* src, intch, size_t n);

作用是将src中前n個位元組用ch替換并傳回src。

若要清空一片記憶體區,比如要把一個char a[20]清零,則:

memset(a,0,20);

三.strncat函數聲明:

void *strncat (char *dest,char *src,int n);

作用是将src所指字元串的前n個字元添加到dest結尾處(覆寫dest結尾處的'\0')并添加'\0'。