美文网首页
格式化字符串任意写原理

格式化字符串任意写原理

作者: anything都不会 | 来源:发表于2019-11-17 20:37 被阅读0次

格式化字符串写操作的原理

%c、%x 的用法

%c 在 printf 的使用中,表示的是输出类型为字符型,例如:%200c 表示总共输出 200 个字符,如果不足 200 个则在前面补上空字符。

%n 的用法

特殊的格式化控制符%n,和其他控制输出格式和内容的格式化字符不同的是,这个格式化字符会将已输出的字符数写入到对应参数的内存中。

%n          一次性写入 4 个字节

%hn         一次性写入 2 个字节

%hhn        一次性写入 1 个字节

%n 一般会配合 %c 进行使用,%c 负责输出字符,%n 负责统计输出的字符串的数量并转化为 16 进制格式写入到偏移的内存地址里。

所以之后写内存的任务其实就是计数的任务了,在后面的例子中也会详细讲解到。

这个控制字符的详细用法在这篇文章中讲的很清楚了,这里就不赘述了。

网址:https://www.anquanke.com/post/id/180009#h3-3

相关文章

网友评论

      本文标题:格式化字符串任意写原理

      本文链接:https://www.haomeiwen.com/subject/lutdmctx.html