-
c语言把一个数组里面的部分值直接复制到另外一个数组,由src所指内存区域复制count个字节到dest所指内存区域。
原型:
extern void *memcpy(void *dest, void *src, unsigned int count);用法:
#include <string.h>说明:
src和dest所指内存区域不能重叠,函数返回指向dest的指针。举例:
// memcpy.c
#include <syslib.h>
#include <string.h>
main()
{
char *s="Golden Global View";
char d[20];
clrscr();
memcpy(d,s,strlen(s));
d[strlen(s)]=0;
printf("%s",d);
getchar();
return 0;
}
-
比较内存区域buf1和buf2的前count个字节
原型:extern int memcmp(void *buf1, void *buf2, unsigned int count);用法:
#include <string.h>说明:
当buf1<buf2时,返回值<0 当buf1=buf2时,返回值=0 当buf1>buf2时,返回值>0举例:
// memcmp.c
#include <syslib.h>
#include <string.h>
main()
{
char *s1="Hello, Programmers!";
char *s2="Hello, programmers!";
int r;
clrscr();
r=memcmp(s1,s2,strlen(s1));
if(!r)
printf("s1 and s2 are identical");
else if(r<0)
printf("s1 less than s2");
else
printf("s1 greater than s2");
getchar();
return 0;
}
- 把buffer所指内存区域的前count个字节设置成字符c。
原型:
extern void *memset(void *buffer, int c, int count);
用法:
#include <string.h>
说明:
返回指向buffer的指针。
举例:
// memset.c
#include <syslib.h>
#include <string.h>
main()
{
char *s="Golden Global View";
clrscr();
memset(s,'G',6);
printf("%s",s);
getchar();
return 0;
}
本文详细介绍了C语言中常用的内存操作函数,包括memcpy用于复制内存区域、memcmp用于比较内存区域以及memset用于设置内存区域。提供了丰富的示例代码帮助理解。
1784

被折叠的 条评论
为什么被折叠?



