【发布时间】:2017-04-20 07:27:14
【问题描述】:
我正在使用一个两行的文本文件。每行都有几千个数字(有符号双打)。所以它看起来像这样:
X.11 X.12 X.13 ...
X.21 X.22 X.23 ...
对于程序的每个循环,我想从每一行读取一个数字。因此,对于循环的第一次迭代,它将是 X.11 和 X.21,对于第二次迭代,X.12 和 X.22 等等。我不需要存储这些值。
预期输出:
X.11 X.21
X.12 X.22
X.13 X.23
如何在 C++ 中做到这一点?
我通常使用fstream 读取文件,并使用std::getline(file, line) 逐行读取文件。如何从每一行读取一个数字?
【问题讨论】:
-
X.11 & X.12 应该是 X.11 & X.21??
-
你可以做你想做的事,但编写一个程序来转置整个文件然后逐行读取它可能更容易。
-
你的号码长度和行长是固定的吗?在这种情况下,您可以计算下一列的开始位置并使用seekg(询问原因是示例看起来像...)
-
只是说:以二进制形式预处理此文件可能很有用(固定偏移量)
-
“对于我程序的每个循环,我想从每一行中读取一个数字。” 但是您在第一次迭代中尝试读取
X.11和X.12?这两个数字不是包含在同一行吗?您能否添加一些伪代码来阐明您真正想要实现的目标?看起来您只是想读取每行的前两个数字,这有点简单。