char buf 里有很多/0 的数据如何处理?

hanzitao1979 2009-12-08 08:02:22
char buf[100];
memset(&buf,0,100);
假设buf里现在数据是{1,1,/0,/0,/0,1,1,1,/0/0}
也就是说有很多结束符。请问:
1.如何获得buf删除buf里的前4位数据,并且让后面的数据自动排到第一位。
也就是删除1,1,/0,/0
新的buf就成了{/0,1,1,1,/0/0}
...全文
113 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
yjy1001 2009-12-09
  • 打赏
  • 举报
回复
2楼正解
不过用数组写法更好点

for (int i = 4; i < 100; i++)
{
buf[i - 4] = buf[i];
}

geochway 2009-12-09
  • 打赏
  • 举报
回复
调用memmove函数.
yhec 2009-12-09
  • 打赏
  • 举报
回复
数组单元删除,除了集体搬家,没有更好的办法
liuxiaobing2008 2009-12-08
  • 打赏
  • 举报
回复
这个直接用循环不就行了?
也不复杂啊.
for(int i = 4; i < 100; i++)
{
*(buf + (i-4)) = *(buf+i);
}
*(buf+96)=0;
*(buf+97)=0;
*(buf+98)=0;
*(buf+99)=0;
zhgwbzhd 2009-12-08
  • 打赏
  • 举报
回复
这个恐怕只能用循环一个一个得来处理了。

13,825

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder相关内容讨论区
社区管理员
  • 基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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