问题标签 [format-string]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
419 浏览

truncate - 格式化字符串以将数字截断为特定位数

是否有将数字截断为特定位数的格式字符串?例如,任何大于 5 位的数字我都想截断为 3 位。

@Erik:像 %2d 这样的格式说明符是特定于一种语言的吗?我实际上想在javascript中使用它

0 投票
1 回答
2891 浏览

c - 为什么 gcc -Wformat 不警告 unsigned int 上的 printf %d?

以下程序具有未定义的行为:

C99 7.19.6.1p8 状态 %d 需要一个 int 参数。

C99 7.19.6.1p9 声明“如果任何参数不是相应转换规范的正确类型,则行为 未定义。”

但是,gcc -Wformat(包含在 中-Wall)不会抱怨上述程序,为什么?这是一个错误,还是故意遗漏?

从 gcc 手册页:

检查对"printf"and"scanf"等的调用,以确保提供的参数具有适合指定格式字符串的类型,并且格式字符串中指定的转换有意义

0 投票
0 回答
3532 浏览

objective-c - 格式化字符串目标 c

我发现这 是否可以使用格式字符串来对齐 NSStrings,就像数字一样?

我有类似的任务,但格式相反。

我的代码是这个

然而结果是这样的

更新

我让它与这段代码一起工作。

更新问题

如果文本太长怎么办?

我希望它是

0 投票
1 回答
229 浏览

c++ - 跨平台格式字符串

到目前为止,我一直在使用 FormatString 使用编号变量( 、 等)格式化多语言字符串$1-$2但是,它不是跨平台兼容的。

是否有一个sprintf跨平台的 -esque 功能可以做同样的事情?它不需要分配内存或任何东西 - 只需要能够处理可能位于字符串中不同位置的编号类型伪变量。

Boost 是可以的,如果它提供类似的功能。

0 投票
2 回答
4689 浏览

python - 与带有格式说明符的旧式 python 字符串不同,Gettext 不会用“python-format”标记 python 格式字符串

似乎 gettext 无法正确识别带有替换字段的 Python 格式字符串,因此不会将它们标记为“python-format”。例如

然而,gettext 用格式说明符正确识别 Python 字符串,并用“python-format”标记这些源字符串,例如,

我曾尝试使用xgettextDjango 的manage.py makemessages工具为 Python 格式字符串生成 PO 文件,但没有看到 Python 格式字符串被标记为“python-format”。

此外,http: //www.gnu.org/software/gettext/manual/html_node/Python.html 没有指定有关新 Python 格式字符串的任何内容。

请帮助我找到解决此问题的方法。

0 投票
3 回答
2781 浏览

c++ - 如何将格式字符串发送到 iostream?

可能重复:
std::string 格式,如 sprintf

我可以将 c++ iostream 类与 printf 之类的格式字符串一起使用吗?

基本上,我希望能够做类似的事情:-

轻松使用字符串流。是否有捷径可寻?

0 投票
3 回答
227 浏览

c - 如何使用 formatstring 打印出字符串?

我正在阅读有关格式字符串漏洞的教程,以学习如何更安全地编码。到目前为止,我编写的程序如下:

我这样运行它:

我可以在末尾看到“41414141”,这是字符串开头的 AAAA。但是,当我像这样使用“%s”时:

我得到一个段错误。谁能指出我正确的方向?

0 投票
0 回答
93 浏览

textbox - 如何根据特定的格式字符串设置文本框的宽度?

我有一个TextBox使用特定格式字符串来显示其内容的。框的宽度设置为恰好占用显示文本所需的空间量。为此,我使用格式化文本的宽度:

这样做时,文本框几乎具有正确的宽度。但我仍然需要添加一个偏移量 12,否则文本的区域会被一些像素裁剪:

在此处输入图像描述

12通过试错得到了号码。于是出现了两个问题:

  1. 为什么我需要这个偏移量,丢失的宽度是否转到(空白和边框?)?
  2. 有没有比仅仅猜测更好的方法来获得正确的偏移量?
0 投票
4 回答
595 浏览

c - 为什么在 C 中会发生格式化字符串攻击?

我知道格式化字符串攻击发生在格式化的 I/O 函数需要比提供的参数更多的参数时。

在 C 中,

读取内存位置的一个示例:

覆盖内存位置的另一个示例:

我的问题是:为什么这两种情况都会发生?为什么在格式化字符串中只有 %x 而没有提供相应的值会在内存中打印一个地址?那个地址到底是什么?我知道它会发生,但到底发生了什么?

覆盖也一样。

0 投票
1 回答
4080 浏览

c - Format String Attack

I have a small C program to be exploited. And I also understood the logic behind the attack to be performed. However, as much as I try, it is just not working for me.

I just need to print the address and value of secret[0] using the format string "printf(user_input);"

I have tried giving something like "\x6e\xaf\xff\xff%x%x%x%x%s". but it is not working. Any suggestions will be appreciated. Thanks a lot.