内存管理函数:memcpy() memmove() memchr() memcmp() memset() strncpy()
void* memcpy(void* destination, const void* source, size_t num);
****The function does not check for any terminating null character in source - it always copies exactly num bytes.
/* memcpy example */
#include <stdio.h>
#include <string.h>
int main()
{
char str1[] = "sample string";
char str2[40];
char str3[40];
memcpy(str2, str1, strlen(str1) + 1);
memcpy(str3, "copy successful", 16);
printf("str1: %s\nstr2: %s\nstr3: %s\n", str1, str2, str3);
return 0;
}
/* memmove() funtion */
Moves one buffer to another. Secure version are available, memmove_s(), wmemmove_s()
void* memmove(
void* dest,
const void* str,
size_t count);
/* memchr() function */
Finds characters in a buffer.
void* memchr(
const void* buf,
int c,
size_t count
); // C only
void* memchr(
void* buf,
int c,
size_t count
); // C++ only
/* memcmp() function */
Compare characters in two buffers.
int memcmp(
const void* buf1,
const void* buf2,
size_t count
);
/* memset */
Sets buffers to a specified character.
void* memset(
void* dest,
int c,
size_t
);
/* strncpy() function */
Copy characters of one string to another.
char* strncpy(
char* strDest,
const char* strSource,
size_t count
);
void* memcpy(void* destination, const void* source, size_t num);
****The function does not check for any terminating null character in source - it always copies exactly num bytes.
/* memcpy example */
#include <stdio.h>
#include <string.h>
int main()
{
char str1[] = "sample string";
char str2[40];
char str3[40];
memcpy(str2, str1, strlen(str1) + 1);
memcpy(str3, "copy successful", 16);
printf("str1: %s\nstr2: %s\nstr3: %s\n", str1, str2, str3);
return 0;
}
/* memmove() funtion */
Moves one buffer to another. Secure version are available, memmove_s(), wmemmove_s()
void* memmove(
void* dest,
const void* str,
size_t count);
/* memchr() function */
Finds characters in a buffer.
void* memchr(
const void* buf,
int c,
size_t count
); // C only
void* memchr(
void* buf,
int c,
size_t count
); // C++ only
/* memcmp() function */
Compare characters in two buffers.
int memcmp(
const void* buf1,
const void* buf2,
size_t count
);
/* memset */
Sets buffers to a specified character.
void* memset(
void* dest,
int c,
size_t
);
/* strncpy() function */
Copy characters of one string to another.
char* strncpy(
char* strDest,
const char* strSource,
size_t count
);