在使用JSON过程中遇到的一个空间释放问题

在对完成的模块进行空间访问检查中发现了这个问题,这刚开始接触JSON的使用,也不知道他的内部实现,因此该问题找了好久,终于发现是每个节点创建都会自动开辟空间,因此造成空间未成功释放的错误。

JSON未成功替换节点空间释放问题

cJSON_ReplaceItemInObject(ties,"time", CJSON_CreateString(curtime));

在上述节点替换函数中,若ties节点内没有time节点,则会替换失败,新创建的CJSON_CreateString(curtime)节点不会加入到大节点上,因此递归释放根节点时,新创建的该节点不会被释放。

因此未成功挂载到根上的节点需要单独释放空间。

大家在项目中一定要养成空间随开随关的习惯啊

相关推荐
ysu_03146 小时前
06 | 200个单元测试C项目也能TDD
c语言·单元测试·tdd
天空'之城6 小时前
Linux 系统编程 22:五种 IO 模型全解
linux
小张成长计划..7 小时前
【Linux】10:冯·诺依曼体系结构和操作系统
linux·运维·服务器
悦儿遥遥雨111 小时前
PXE + Kickstart 无人值守批量部署系统
linux·javascript·nginx
Imagine Miracle11 小时前
【WSL】让WSL2后台持久运行不自动关闭的解决方案
linux·windows·wsl
兔C11 小时前
Linux 命令行入门学习资料 day_2
linux·运维·服务器
eggcode12 小时前
Linux命令基础与操作技巧
linux
二宝哥12 小时前
VMware Workstation 实战:CentOS 7.9 安装、桥接网络配置与克隆管理详解
linux·centos·vmware
AutumnWind042013 小时前
【4种打开Ubuntu(WSL)的方法】
linux·ubuntu
烟锁池塘柳014 小时前
【C/C++】解决C++控制台输出中文乱码问题
c语言·开发语言·c++