一个关于网络数据包捕获程序的问题(显示数据16进制码)

xinuuu 2012-05-30 07:33:35
部分代码如下:

char *ptr = p.pContent;//将捕获到的数据包的内容赋给ptr

if (i%24==0&&i!=0)//每行显示24个字符
{
strcat(Buf,"\r\n");//换行,buf为存数据内容的缓冲区
}
if (ptr[i]=='\0')//判断第i个字符是不是结束符
{
strcat(Buf,"00 ");//在缓冲区的结尾补00
}

else
{
char temp[10] = {0};
sprintf(temp,"%02x ",ptr[i]);//格式化成16进制到temp中

我不明白的是:为什么如果遇到结束符就在尾部补00?有人知道不,在线等,跪求答案!!
+qq156011604说也行!
...全文
166 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
xinuuu 2012-05-30
  • 打赏
  • 举报
回复
难道说,在十六禁止中,结束符 '/0' 是用 00 表示的?

64,685

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

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