cJSON详细剖析(六)----print_string_ptr()函数(补充)

匿名 (未验证) 提交于 2019-12-03 00:09:02

我又重新把之前的写的博客看了一遍,写的是什么狗屁,我自己看得都费劲,这里我重开一博客把之前在剖析(四)里的内容摘取出来。

在分析print_object()函数时,对于出现的print_String_ptr()函数,我们做进一步的分析。下面就是print_String_ptr()函数,我已经贴好了注释,针对给定的text文件,就返回"\"name\""了。

当然,上述针对的给定的text字符串,刚好满足if(iflag)条件,所以就直接输出了,接下来我们分析一下未满足条件的,也就是flag为1的时候。这就是,在上图的黄色框中的部分的条件成立的,即可以字符串的第一个字符是双引号或反斜杠或者ASCII码小于32的,我们先看看小于32的ASCII码包括哪些内容,如下图:

有点长,我就不全贴出来了(给个地址:http://ascii.911cha.com/?year=13),可以看到,都是一些控制字符串,非显示字符串,控制字符是用来实现特定操作的,如一些比较常用的控制字符就是ESC、BACKSPACE(删除上一个字符)、Del(删除当前字符)、回车符、换行符等。

好了,我们回到代码部分,首先判断是不是空串,如果是就直接输出俩双引号。

差不多就分析这么多吧。加油加油!

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!