问题标签 [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 投票
5 回答
3223 浏览

.net - 有 1 到 2 位小数的 .Net FormatString 吗?

我要求将给定数字格式化为至少 1 个小数位和最多 2 个小数位,如下所示:

是否有可以提供此功能的 FormatString 字符串?

如:

0 投票
1 回答
8227 浏览

asp.net - 我正在尝试格式化我的标签文本

我想要我Label使用的{0:c2}格式;但是,当我按照以下方式进行操作时,它似乎不起作用:

客户端代码:

服务器代码(页面加载):

问题可能是什么?提前感谢您的帮助。

0 投票
1 回答
1395 浏览

c - C中的格式化字符串攻击

我正在研究一个安全单元,并试图理解格式字符串攻击。有人可以尝试向我解释一下吗?

以下代码取自: http: //julianor.tripod.com/bc/tn-usfs.pdf

据我了解,%n格式说明符用于将指定的地址读回内存,然后当printf从堆栈中弹出值时,它应该读取我们的地址。我似乎无法解决这个问题。

在文档中,提供了以下示例:

是从哪里来\x58\x74\x04\x08%d%n的?

0 投票
4 回答
27986 浏览

java - 用“?”格式化字符串的方法 java中完整字符串的参数?

例如我想用方法实现类

如果输入是

输出必须是

实现它的最简单方法是什么?

0 投票
5 回答
79120 浏览

c - 如何利用格式字符串漏洞?

我正在阅读代码中的漏洞并遇到了这个Format-String Vulnerability

维基百科说:

当程序员希望打印包含用户提供的数据的字符串时,最常出现格式字符串错误。程序员可能会错误地写 printf(buffer) 而不是 printf("%s", buffer)。第一个版本将缓冲区解释为格式字符串,并解析它可能包含的任何格式指令。第二个版本只是按照程序员的意图在屏幕上打印一个字符串。

我遇到了 printf(buffer) 版本的问题,但我仍然不明白攻击者如何利用这个漏洞来执行有害代码。有人可以告诉我如何通过示例利用此漏洞吗?

0 投票
2 回答
2005 浏览

c# - 检查 FormatString 的简单方法是否有效?

有没有一种简单的方法来检查格式字符串是否有效?例如下面是我们用来测试数字格式字符串的代码;

我们正在尝试捕获异常或确定结果字符串是否没有长度。但是,此测试失败,因为“hsibbur”(任何垃圾)的格式字符串会生成一个“hsaibbur”字符串,该字符串具有长度。

我们想对百分比和日期格式字符串做同样的测试。

0 投票
4 回答
965 浏览

c - C scanf 格式字符串警告

我正在研究 Euler #3 ( http://projecteuler.net/problem=3 )。我认为我的逻辑是正确的,但是在尝试使用 long 的 scanf(和 printf)时出现错误。我目前正在尝试使用 %li,这是我得到的错误:

我理解这个错误,但对于我的一生,我找不到解决方案。如果需要,这是我的代码。

0 投票
6 回答
1673 浏览

c# - 在 c# 中以可变年长解析日期

我正在尝试找到适当的格式字符串来解析(精确)以下类型的日期:

  • 1-01-01T00:00:00+00:00- 0001 年 1 月 1 日
  • 2011-12-14T15:53:40+00:00- 2011 年 12 月 14 日

所以年份长度似乎是可变的(1-4 个字符)。

我目前用来精确解析的格式字符串是:
c_DateTimeFormatString = "yyyy-MM-ddTHH':'mm':'sszzz"

显然这只匹配第二个字符串。今天第一个出现了。现在我们也必须匹配它。

是否有格式字符串来实现这一点?

更新#1
我在输入日期字符串之后以明文形式添加了实际日期。

UPDATE #2
Parse exact 有一个重载,允许传入多个格式字符串。这似乎是正确的方法。

所以第一次尝试是使用:

DateTime.ParseExact("1-01-01T00:00:00+00:00 ", new[] { "yyyy-MM-ddTHH':'mm':'sszzz", "yyy-MM-ddTHH':'mm':'sszzz", "yy-MM-ddTHH':'mm':'sszzz", "y-MM-ddTHH':'mm':'sszzz" }, CultureInfo.CreateSpecificCulture("en-US"), DateTimeStyles.AssumeLocal)

但遗憾的是,这并没有给出正确的结果,第一个日期字符串被解析为:
01.01.2001
而不是
01.01.0001

所以现在的问题是什么是正确的解析字符串来解析仅用一位数字表示的第一年?

0 投票
2 回答
5637 浏览

c++ - 使用 Clang AST 打印函数的参数

我想将参数传递给函数。例如,如果我有电话

printf("%d%d", i, j);

输出应该是

%d%d

j

我可以在 RecursiveASTVisitor 中使用 VisitCallExpr() 进行函数调用。还能够获取参数的数量和参数类型。但我不知道如何获得论点。

输出:

argType:char *
argType:int
argType:int

请帮助我获得论据。

0 投票
4 回答
19885 浏览

hover - jqplot 格式工具提示值

我想在 jqplot 中有一个工具提示悬停突出显示的东西。问题是我希望它在轴上提供更多细节。所以格式化程序应该不同。我无法让它显示秒数:

这里有一个 JS 文件!

我希望时间戳显示为小时:分钟:秒,这将是格式字符串“%H:%M:%S”或“%T”或“%X”。但是我该怎么做呢?