首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >编程和安全地调整格式字符串中的小数位数。

编程和安全地调整格式字符串中的小数位数。
EN

Stack Overflow用户
提问于 2015-07-08 17:27:33
回答 1查看 76关注 0票数 0

我试图找出处理C中动态更改格式字符串的最佳方法,而不打开不受控制的格式字符串漏洞。

我有结构中的数据,其中包含浮点数和无符号整数,它们对应于打印的重要数字数。

我想使用整数动态生成格式字符串的精度,以便:

3生成"%.3g"

21生成"%.21g"

有没有一种安全的方法可以做到这一点,而不打开我的代码来攻击呢?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-07-08 17:29:31

是的,你很幸运。您需要使用格式字符串中的精度字段。在这种情况下,您可以提供一个.*表示法,并提供相应的整数参数,以保存精度的值。

您可以使用下面的模式来实现这一点,例如在printf()中。

代码语言:javascript
复制
 printf("%.*g", int_precision, decimal_to_print)
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31299590

复制
相关文章

相似问题

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