原创 memset函数

2007-6-4 17:32 6194 8 9 分类: 软件与OS
memset

null.gifnull.gif


  原型:extern void *memset(void *buffer, int c, int count);

用法:#include <string.h>

功能:把buffer所指内存区域的前count个字节设置成字符c。

说明:返回指向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;
}

Memset  用来对一段内存空间全部设置为某个字符,一般用在对定义的字符串进行初始化为‘ ’‘\<?xml:namespace prefix = st1 ns = "urn:schemas-microsoft-com:office:smarttags" />0’<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />


:char a[100];memset(a, '\0', sizeof(a));


memcpy  用来做内存拷贝,你可以拿它拷贝任何数据类型的对象,可以指定拷贝的数据长度。


例:char a[100],b[50]; memcpy(b, a, sizeof(b));注意如用sizeof(a),会造成b的内存地址溢出。


Strcpy   就只能拷贝字符串了,它遇到'\0'就结束拷贝。


例:char a[100],b[50];strcpy(a,b);如用strcpy(b,a),要注意a中的字符串长度(第一个‘\0’之前)是否超过50位,如超过,则会造成b的内存地址溢出。


 


memset主要应用是初始化某个内存空间。
memcpy
是用于copy源空间的数据到目的空间中。
strcpy
用于字符串copy,遇到‘\0’,将结束。

文章评论1条评论)

登录后参与讨论

用户24538 2008-3-28 14:02

讲的不是很详细,字体太小.

用户1053025 2006-9-27 14:24

呵呵,博主的东东真是实用啊
相关推荐阅读
用户478270 2007-11-26 15:03
Visual C++中使用gotoxy() / clrscr()等函数
#include < windows.h >void clrscr(void);void clreol(void);void clreoscr(void);void gotoxy(int ...
用户478270 2007-11-15 11:38
putchar()、getch()、getche()和getchar()函数
getch()、getche()和getchar()函数     (1) getch()和getche()函数     这两个函数都是从键盘上读入一个字符。其调用格式为:      getch(); ...
用户478270 2007-11-06 21:10
VM TOOLS安装
以ROOT身份进入Redhat linux9.0以后,会发现我们并没有真正的安装上了VMWARE TOOLS软件包,这个时候需要点击“虚拟”--》“安装虚拟工具”, mount /dev/cdrom ...
用户478270 2007-11-03 16:49
用全加器实现逻辑函数
瑞芯微电子的一道笔试题f(x1,x2,x3) = E(0,2,3,5,6,7) 试用全加器实现。 在网上搜到一篇论文讲的挺全,上传共享。但还是有点没看明白,感觉技巧性太强。...
用户478270 2007-10-18 23:01
Latchup现象和预防措施
Latch up 最易产生在易受外部干扰的I/O电路处, 也偶尔发生在内部电路Latch up 是指cmos晶片中, 在电源power VDD和地线GND(VSS)之间由于寄生的PNP和NPN双极性B...
用户478270 2007-10-18 16:42
N沟道增强型MOS管的工作原理
N沟道增强型MOS管的工作原理1.vGS对iD及沟道的控制作用<?XML:NAMESPACE PREFIX = V /><?XML:NAMESPACE PREFIX = O />...
我要评论
1
8
关闭 站长推荐上一条 /2 下一条