关于一个函数的实现

panan 2001-05-22 04:29:00
void *memset(void *pv, byte b, size_t size)
{
byte *pb = (byte *)pv;
unsigned long l;
size_t sizeSize;

l = (b << 8) | b; /* 用4个字节拼成一个long */
l = (l << 16) | l;
pb = (byte *)longfill((long *)pb, l, size/4);
size = size % 4;

while (size-- > 0)
*pb++ = b;
return (pv);
}
这段代码能正确实现memset函数么?
byte是哪个头文件里定义的数据类型,longfill是什么操作符?
我编译的时候没成功。
...全文
59 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
panan 2001-05-22
  • 打赏
  • 举报
回复
谢谢holyfire,能留个qq号么?我的:18719831
holyfire 2001-05-22
  • 打赏
  • 举报
回复
理论上是可以,longfill这个函数包含在那我也不知道
byte的原型
typedef unsigned char byte;
建议你使用编译器自己的memset会更好
bluestar 2001-05-22
  • 打赏
  • 举报
回复
用string.h中的memset还不够吗?要自己编写一个。
关注

69,373

社区成员

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

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