问题标签 [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 回答
69 浏览

c - 以编程方式安全地调整格式字符串中的小数位

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

我在一个结构中有数据,其中包含浮点数和一个无符号整数,它对应于打印的有效数字的数量。

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

3生成"%.3g"

21生成"%.21g"

有没有一种安全的方法可以做到这一点,而无需将我的代码开放给漏洞利用?

0 投票
2 回答
127 浏览

c# - 具有固定精度且无句点的十进制自定义格式字符串

我遇到了一种情况,我认为这超出了使用自定义格式字符串所能做的范围。

但是我写的代码太恶心了,我想我还是会问的。

我需要将小数显示为 6 位或 7 位字符串,如下所示:

这是我为实现此目的而编写的代码:


预期输入和输出:

0 投票
3 回答
138 浏览

c - 预处理器和格式字符串的替换

如果我放:

之后:

我有一个运行时错误。预处理器应该SIZE10before 编译,所以这应该等于(在我看来)写

那么,错误在哪里?

0 投票
1 回答
70 浏览

matlab - 将格式化数据从 .txt 正确读取到 MATLAB

考虑有一个带有数据的.txt文件(它的名称保存为变量fName)(2 个标题行、5 行和 2050 个带有数据的列:第 1 列是格式为小时:分钟:秒.毫秒的时间,第 2 列是时间戳,所有其余列都是数字数据矩阵。

文件暂时可以从这里获得。文件内容预览(6列2050):

我使用以下代码读取数据:

结果 - 不是 5 行,而是 10 行,每两行包含缺失数据:

我的代码中有错误吗?如何正确读取数据?

0 投票
1 回答
308 浏览

c - 如何将 Printf 之类的格式字符串与 argv 一起使用

我正在尝试为我的程序添加一些允许我进入的支持/Input/Images/%03d.png /Output/Images/%03d.blah,但我不知道该怎么做?

我已经搜索了格式字符串的每种组合printfargv我能想到的。

我希望能够将 %03d 之前的所有内容作为常量加载,并循环 %03d 以选择多个不同的输入文件,以便将它们读入。所以它会是/Input/Images/000.png,然后/Input/Images/001.png一直到/Input/Images/999.png.

tl; dr 我想处理一系列文件,但我不知道该怎么做。

0 投票
2 回答
2155 浏览

c# - 如何在 ClosedXML 中以数字格式附加 % 符号而不乘以 100

当我将单元格的格式设置为%并导出时,它会自动将该值乘以 100 并显示该值。所以1.9变成190%,我用这段代码添加了%的符号。

有人可以帮我解决这个问题吗?

0 投票
1 回答
1212 浏览

asp.net-mvc - ClosedXML中的中心和中心连续对齐之间的区别?

我正在研究 ClosedXML 以导出 Excel,并且只需找到对齐Center 和 CenterContinuous的属性。

我都试过了,结果还是一样,有谁知道具体有什么区别吗?

0 投票
2 回答
2802 浏览

c - 如何使用格式字符串攻击覆盖变量

我正在尝试使用格式字符串攻击覆盖 ac 程序中的变量。这是安全课的家庭作业,我并不是要你为我做作业。但是我正在努力让它发挥作用,我不明白为什么。另外,我知道还有关于这个主题的其他问题,但这些帖子都无法帮助我。

我正在使用我的教授为我设置的虚拟机。易受攻击的代码是由他构建的,所以我不确定他是如何做到的,操作系统是 Linux 3.13.0-65-generic i686,ASLR 应该已被教授禁用。我们没有收到任何有关设置环境以使这次攻击成功的指令,因为环境完全由教授设置。此外,我没有虚拟机上的 sudo 权限来自己做这些事情。

这是我的攻击针对的易受攻击的应用程序的代码:

再一次,我的目标是使用格式字符串攻击覆盖变量 x。家庭作业要我用 MAGICNUM 覆盖它,但现在我只是想给 x 分配任意值。

使用 GDB 我能够发现 x 的地址是0x0804a030.

我知道我需要使用%n格式说明符,这些是我迄今为止尝试过的一些输入字符串示例:

所有这些输入字符串都会触发分段错误,我无法弄清楚它们为什么不起作用。

任何关于我可以做些什么来成功覆盖 x 的见解都会很棒。

0 投票
1 回答
1356 浏览

c# - 格式化字符串——左右填充一个双字节

我几乎不好意思问这个非常基本的问题,但是:

如何仅使用格式字符串打印以下内容?

如果不明显:我需要在逗号/点之前使用空格填充,在逗号/之后使用零填充


我有以下代码来填充以下零:

我通常会<string>.PadLeft(18, ' ')用零填充字符串的左侧。
但是,我确实想避免string::PadLeft(int, char)并纯粹使用string::format(string, params object[]).


我很确定,这已经被问了一百次了——尽管我找不到问题。但是请随意将其标记为重复[只有当它是一个时-当然]...

0 投票
1 回答
730 浏览

c# - 数字格式字符串 - 使用 C# 之类的圆括号时对齐正数和负数

使用 Excel,我可以创建一个漂亮的带括号的数字格式字符串,如下所示:

这会在正数的右侧创建一个与括号宽度相同的空间,以便它们与负数的括号正确对齐。

使用 C#,我使用以下格式字符串:

这会在正数之后插入一个空格。但是,如果空格的括号宽度不同,则数字不会完全对齐。

如何在 C# 格式字符串中创建一个与括号宽度相同的空格?