问题标签 [formatted-input]

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 回答
305 浏览

c++ - 确保多个输入是数字(c++)

我正在制作一个程序,我向用户询问日期并将其与当前日期进行比较。所有功能都在那里,但我似乎无法验证日期、月份和年份是数字,因此输入字母会使程序崩溃。有任何想法吗?(注意:do while 循环中的函数按预期工作)

0 投票
2 回答
69 浏览

swift - Swift 4 Cocoa reading formatted data into variable

I need to read some formatted data from a string and store it in two variables. The string has this format:

The numbers are of varying lengths and signs. I feel like this should be simple. It would be easy in C:

But in Swift, I'm pulling my hair out trying to find an easy way to do this. As suggested in other answers, I've tried:

However this overlooks minus signs. Any help is much appreciated!

0 投票
1 回答
60 浏览

c - 以特定格式输入(矩阵)

我的作业输入有问题。在标准输入上,我会得到一个特别格式化的输入。

在第一行中,将有 2 个整数,它们确定矩阵的大小(行和列)。之后的所有行代表矩阵的行。

我本质上想做一些类似 getline() 的事情,但我不想使用 getline()。事实上我不能,它在作业中被禁止。因此,我必须按 int 扫描 int(或者我猜是按 char 扫描)。这里的问题是我需要它是防弹的(几乎)。至少是防伪的。

我在想象一个大的 while 循环,它一直持续到 EOF 并在另一个循环中(也许?),它总是读取一行,将它保存到我分配的矩阵并继续到下一个。我知道我应该检查'\n',但我今天有点缺乏思考解决方案的能力。

这是我正在使用的:我的矩阵是一个结构。

然后我有多个功能。

为特定大小的矩阵动态分配空间的函数:

释放先前分配的空间的函数:

这两个功能工作得很好。

现在我正在尝试创建一个函数 create_matrix(void) (至少我认为它不应该接受任何参数),它将读取我应该接收的输入,例如:

当函数读取输入时,它可以判断输入是否不正确或格式不正确,并以相应的退出值(如 100 fe)退出程序如果输入正确且格式正确,则调用 init_matrix() 然后将输入保存到矩阵。

为了您更深入的了解:我应该收到的整个输入是:矩阵 A(如上,第一行的大小,之后的行中的值)一个操作(+,-,*)矩阵 B

然后执行操作(A*B、A+B 等)。我正在尝试将大多数东西变成函数,所以 main 会很简单,fe

如果你明白我的话,那些话里的东西。问题是我想让程序足够复杂,以便以后可以编辑它以处理比两个更大的矩阵序列(最多 100 个)。现在我可以用一种肮脏的方式来做,通过一次操作让它适用于两个矩阵,但这不是我真正想要的。

0 投票
0 回答
405 浏览

c++ - 如何使用 istream 读取带有空字段的格式化输入

我想用 std::istream 或 fscanf() 读取指定格式的文件。

文件的每一行都由几个字段组成。这些字段可以是字符、浮点数或整数。每个字段都有固定的宽度,可能为空。有没有办法阻止 std::istream 忽略空字段?

==================================================== ================

以下是详细说明。

我正在编写一个解析 pdb 样式文件的程序。部分格式遵循以下格式: 记录格式

这是实际输入的一部分:

您可能会注意到,有些字段是空的。例如,第 17 列的 altLoc(alternative location) 是可选的,而第 79-80 列的费用通常会丢失。

有时字段没有分开,因为名称、altLoc 和 resName 字段可能形成类似 CG1AVAL 的东西,实际上是 CG1、A 和 VAL。

我正在尝试用 C++ 实现该程序。我尝试了 operator>> 和 fscanf 但未能找到将输入读入 struct Atom 的解决方案。

setw(size_t n) 无法按预期工作,并且由于我必须使用 41.9GB 的输入进行双重处理,因此性能很重要,因此我不希望像 getline() 那样在字符串中添加太多开销,然后解析它细绳。这是我失败的尝试:

更新:

想出一个使用 getline 和字符串解析的解决方案。工作,仍在测试性能。

更新 2: 程序读取 ASTRAL 数据集中的 276231 条链并计算沿链的二面角。总共需要 10237134 毫秒,即 3 小时。数据集约42GB,性能完全可以接受。

0 投票
1 回答
215 浏览

matlab - 如何在 MATLAB 中读取带有可能标题的文件?

最初我的文件看起来像:

列号是固定的,而行号因文件而异。以下代码可以读取这些文件:

M是数据文件的转置。

现在我得到了几个新文件,其中可能有一个行标题,开头为#

保证 then header 占用不超过一行,并且总是以#.

我知道我可以逐行读取文件来处理标题。我想知道是否有任何方法可以对原始代码进行尽可能少的更改,以便新代码可以读取两种格式的文件。

textscanf函数似乎能够处理标题,但字段的参数Headerlines是固定数字。

0 投票
1 回答
59 浏览

c - 格式化输入数组 int

我需要能够输入ints 数组并将其保存在 a 内的集合中struct,但是由于某种原因,它不会将数字读入数组:

我得到的输出是:

不用说 print_set 什么也不打印。

0 投票
4 回答
45 浏览

python - 以某种模式组织的解析文件

f 是一个文件,如下所示:

预期的输出是:

我试过的代码:

它只是给了我所有的 IP 地址,而不是安装了 Apache 的特定主机。

我怎样才能做出预期的输出?

0 投票
2 回答
112 浏览

python - 带有可选中间短语的多行字符串匹配器

我想抓取分布在两行之间的文本。

例如 :

我想获得 PO 编号 4000813852 它就像一个基于表格的数据,但在整个文档的上下文中似乎是普通文本。

re.MULTILINE用过 r'PO Number.*\n[0-9]+'

它在这种情况下有效,但它不是最好的解决方案,因为可能PO 编号位于中间

0 投票
1 回答
266 浏览

fortran - 如何处理格式化整数输入中的空白

我有这样的文件

我尝试使用格式“(3I4)”读取数据

我得到了三个零的空白行。是否有任何选项来处理空​​白输入?

0 投票
1 回答
40 浏览

c - scanf 用数组格式化多个特殊字符

我想要 3 个符号输入,例如|or %,但我没有得到| | %,而是得到了| |

终端:

代码在这里:

请告诉我我做错了什么。谢谢。