找回密码
 用户注册

QQ登录

只需一步,快速开始

查看: 3250|回复: 2

ACE_Message_Block长度的问题?

[复制链接]
发表于 2009-1-6 11:13:07 | 显示全部楼层 |阅读模式
ACE_Message_Block *mb = NULL;
  ACE_NEW_RETURN(mb, ACE_Message_Block(n), -1);
  ACE_OS::sprintf(mb->wr_ptr(),"%s",buffer);
        ACE_DEBUG ((LM_DEBUG,
                    ACE_TEXT ("(%t) Request_Handler:%s)\n"),
                    mb->rd_ptr()));
程序段的意思是把buffer放到mb中,如果buffer的内容"hello"但是输出的时候mb中除了"hello"外,还有一堆乱码,为什么除了"hello"外,还有其他别的内容
发表于 2009-1-6 16:16:21 | 显示全部楼层
你自己没清空缓冲区,也没加\0结束符,当然如此!
发表于 2009-1-9 11:29:59 | 显示全部楼层
ACE_OS::sprintf自己会自动加上‘\0’, 原因就出在你传入的buffer上面,所以先检查你传入的buffer内容赋值。
您需要登录后才可以回帖 登录 | 用户注册

本版积分规则

Archiver|手机版|小黑屋|ACE Developer ( 京ICP备06055248号 )

GMT+8, 2024-12-23 21:29 , Processed in 0.018065 second(s), 6 queries , Redis On.

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表