首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使“插入字节”和“移除字节”都能通过“插入字节”和“负偏移”工作。

使“插入字节”和“移除字节”都能通过“插入字节”和“负偏移”工作。
EN

Stack Overflow用户
提问于 2011-01-31 08:26:56
回答 1查看 51关注 0票数 0

我有两个基本相同的操作:

代码语言:javascript
复制
insert_bytes(from, count)
delete_bytes(start, stop) -> delete_bytes(from, count)

insert_bytes实现示例:

代码语言:javascript
复制
unsigned char* new_bytes = (unsigned char*)malloc((old_length+count)*sizeof(unsigned char));
memcpy(new_bytes, old_bytes, from); // negative value can't go to from here
memcpy(new_bytes+count, old_bytes+from, old_length-from); 
return new_bytes+from; // pointer to write

有没有什么安全的方法可以在不编写5-6行正/负值检查的情况下将delete_bytes实现为对insert_bytes的调用(具有负偏移量)?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-01-31 08:33:11

不..。你的delete函数不知道之前被误定位了多少。

  • 如果你做了一个C++ (这被标记为C)类,你可以封装当前的大小。
  • 你可以做一个函数:

(from,current_size,delta),这是可行的。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4846621

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档