memset()做何用?

sunzhikai1978 2003-10-09 09:36:48
在K&R的《c程序设计语言》关于memset(s,c,n)函数是这样描述的:
place charater c into first n characters of s,retur s.
这句话怎么理解呢?能给我个简单的例子吗?其中:s is of type void *;n is of
type size_t;and c is an int converted to an unsigned char.
...全文
37 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
ssbull 2003-10-09
  • 打赏
  • 举报
回复
memset()中的三个参数分别表示:
1.s:表示你要用来设置的数组
2.c:表示你想设置该数组的值
3.n:表示你想设置的数组的元素个数
具体例题见一楼所示
ahuu 2003-10-09
  • 打赏
  • 举报
回复
up
Hot_Forever 2003-10-09
  • 打赏
  • 举报
回复
为0的话就是清空该字符串
sunzhikai1978 2003-10-09
  • 打赏
  • 举报
回复
如果把中间的参数改为0,如:memset( buffer, 0, 4 );这又代表什么呢?
zhoutb1983 2003-10-09
  • 打赏
  • 举报
回复
常用于结构,如socket编程中:memset(&DestAddr,0,sizeof(DestAddr))
Hot_Forever 2003-10-09
  • 打赏
  • 举报
回复
把字符串s的前n个字符替换成字符c,并且把替换以后的字符串返回到s所在的缓冲区
例子如上:将会输出
Before: This is a test of the memset function
After: **** is a test of the memset function
Fengq 2003-10-09
  • 打赏
  • 举报
回复
agree
  • 打赏
  • 举报
回复
初始化一个buffer
/* MEMSET.C: This program uses memset to
* set the first four bytes of buffer to "*".
*/

#include <memory.h>
#include <stdio.h>

void main( void )
{
char buffer[] = "This is a test of the memset function";

printf( "Before: %s\n", buffer );
memset( buffer, '*', 4 );
printf( "After: %s\n", buffer );
}

69,336

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧