【发布时间】:2017-01-24 22:11:08
【问题描述】:
我正在尝试使用 VHDL 从可以具有不同格式的文件中读取。我知道您应该使用以下两行代码一次读取一行,读取该行中的各个元素。
readline(file, aline);
read(aline, element);
但是我的问题是read(aline, element) 会返回到element 什么?如果该行为空,它将返回什么?如果我使用了 5 次并且我的行只有 4 个字符,它会返回什么?
我想知道的原因是,如果我正在读取一个在有效数据之间有任意数量空格的文件,我该如何解析这些有效数据?
该文件包含由任意数量的空白(任意数量的空格、制表符或新行)分隔的 ASCII 字符。如果该行以 # 开头,则该行是注释,应被忽略。
在这些 cmets 之外,文件的第一部分包含只有字母或数字的可变大小组合的字符。换句话说:
123 ABC 12ABB3
但是,文件的大部分内容(在一定数量的读取字之后)将是纯任意长度的数字,由任意数量的空格分隔。换句话说,文件的第二部分是这样的:
255 0 2245 625 430
2222 33 111111
而且我必须能够单独解析这些数字(并解释它们)。
【问题讨论】:
-
参见 IEEE Std 1076-2008 16.4 包 TEXTIO,第 8 段(部分)为除 CHARACTER 和 STRING 之外的给定类型定义的 READ 过程以跳过前导空白字符开始。空白字符定义为空格、不间断空格或水平制表符(SP、NBSP 或 HT)。对于所有 READ 过程,然后从 L 中删除字符并组合成指定类型值的字符串表示形式(参见 5.7)。
-
如何在线访问?
-
是的,我查看了如何通过 IEEE 购买它,但我买不起。不应该免费提供一种语言的参考手册吗?这有点荒谬。