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

python - shell脚本十六进制计数器

我的 shell 脚本有问题:

我想用不同类型的字符串运行我的程序 m4,我写下了这个脚本:

它以十六进制从 10 计数到 FD,并将此值放入我的字符串中。出现此错误:

ValueError: invalid \x escape

第一个问题:这是一个真正的错误还是只是一个警告? 第二个问题:为什么如果所有值都由您应该在字符串中看到的地址中的两个字符组成,但会出现错误?

0 投票
1 回答
450 浏览

objective-c - 核心数据谓词“无法解析格式字符串”

我正在尝试获取一组NSManagedObjects与其他对象具有特定关系的对象。

所以我有 4 个托管对象:UserPick, Game, Group, User. GameUserPick 与, Group,具有一对一的关系User。我需要找到所有UserPick具有特定Game,Group和的 s User,但我似乎无法正确构造谓词:

我试过了:

和:

最后:

我已经尝试在每一种可以想象的组合中使用%@and 。%K我得到的只是:NSPredicate cannot parse format string。我怎样才能做到这一点?

0 投票
2 回答
83 浏览

.net - .NET 双格式字符串:如何获得完整的小数以及千位分隔符?

我有一个Double值,需要找到格式字符串,它将这个值转换为双精度值有多少小数,以及千位分隔符。

例如,假设我的值为 1000000.1256。如果我不使用任何格式字符串,则默认字符串具有完整的小数(四位),但没有千位分隔符 ( 1000000.1256)。如果我使用标准格式字符串“N”,则输出为1,000,000.13,即默认使用 2 位小数并进行四舍五入。但我不希望它执行任何舍入,我想显示1,000,000.1256. 请注意,我不知道这个数字有多少个小数,这就是为什么我说我想显示“完整”小数,而不是 2、4 或任何其他更大的小数。我知道我可以使用自定义字符串来做到这一点:“#,#.##########”,因此它最多显示 10 位小数,而且我的数字不太可能超过 10 位小数。但这是唯一/最好的方法吗?

0 投票
2 回答
385 浏览

c - 到目前为止在 snprintf 中编写的字符

最近,我注意到一个我想验证的奇怪案例:

通过 SUS,对于%n格式字符串,相应的int将设置为 -amount-of-bytes-written-to-the-output。此外,对于snprintf(dest, 3, "abcd")dest将指向"ab\0"。为什么?dest因为要写入输出(缓冲区)的字节数不超过 n (n = 3 )。

我推断出代码:

written将设置为 2(从计数中排除空终止)。但是从我使用 GCC 4.8.1 进行的测试中,written设置为 5。我是否误解了标准?它是一个错误吗?它是未定义的行为吗?

编辑:

@wildplasser 说:

...格式字符串中 %n 的行为可能未定义或实现已定义...

...实现必须模拟处理完整的格式字符串(包括 %n)...

@par 说:

written%n是 5,因为这是在遇到 时将写入的字符数。这是正确的行为。 snprintf最多只复制size字符减去尾随的 null ...

和:

另一种看待这个问题的方法是,%n如果它只处理最多 2 个字符,甚至都不会遇到,所以可以想象written会有一个无效的值......

和:

...整个字符串通过printf()规则处理,然后应用最大长度...

它可以被验证为标准、标准草案或一些官方来源吗?

0 投票
2 回答
2716 浏览

c - 退格 \b 在 C 格式字符串中的 \n 之前不起作用

在换行符之前的字符串末尾的 C 字符串中的退格转义字符被忽略(在 Mac OS X 终端中)。

为什么会这样?

0 投票
1 回答
160 浏览

c - 如何根据 long 的大小更改我的 sprintf 格式字符串

我想用和uint64_t从十六进制字符串中读取一些值。printfscanf

并非我使用的所有平台都具有相同的longor大小long long,所以如果我使用格式字符串,"%llx"它会在 long long 为 128 位"%lx"的平台上发出警告,并且会在 long long 为 64 位的平台上发出警告(并且 long 更小) )。

我的第一个想法是用宏定义格式字符串,但是宏表达式不支持 sizeof。

有没有办法定义我的格式字符串,以便它可以在任何平台上工作,最好没有警告?

0 投票
2 回答
2792 浏览

scope - 如何在范围内动态设置 format_string?

我有3个措施:

SCOPE 用于更改所有度量的值,让我们这样说:

问题:[维度 1] 上层的度量格式错误。12345 而不是 12,345 等。

可能的解决方案:更改为 IIF(Measures.CurrentMember is [Measures].[Some Count],"#,0" etc.)

缺点:

  1. 措施列表创建,它的支持(如果smth改变了,不要忘记在这里改变等等)
  2. 没有机会使用一组度量(即使在 SSAS 浏览器中)。

有没有办法动态设置度量格式?

更新:实际上,实际项目中有数百个措施,所以我试图避免措施列表。

0 投票
1 回答
5797 浏览

c - 如何使用格式字符串攻击

假设我有以下代码:

我试图了解如何正确地做到这一点,但我无法通过互联网上的指南来组织我的思想。

是否假设为:

进而

我只是想不通,请帮我解决这个问题。

这样做的要点是通过 prinft 函数将字符串利用到正在运行的程序中。我需要同时打印“干得好”和“您是格式字符串专家”。就我而言,通过 Linux 终端/shell。正如 HuStmpHrrrr 所指出的:这确实应该是白色黑客 - 软件安全

0 投票
2 回答
48 浏览

python - 使格式字符串在字符后对齐整数

我正在尝试制作一个执行以下操作的格式字符串。

我想出了这个字符串"I lost {:>2} {:<13}Total:{:<}".format(10,"turtles",20)无论如何都可以摆脱它{:<13}[,"turtles"]仍然产生相同的结果?

0 投票
2 回答
967 浏览

python - 如何在python中泄漏变量的值

嘿伙计们,有没有办法利用这个原始输入,并从程序中泄露“隐藏”变量的值?换句话说,你能单独从输入中执行一行代码吗?我尝试格式化字符串攻击程序,但没有奏效。注意:您不能更改代码。

有什么建议么?