从文本文件中读取数字

Reading digits from text file C++

本文关键字:读取 数字 文件 文本      更新时间:2023-10-16

我在一个文件中有一个代码,它看起来像

73167176531330624919225119674426574742355349194934 96983520312774506326239578318016984801869478851843 85861560789112949495459501737958331952853208805511

等共20行。我要做的是从文本文件中读取每两个数字,并将它们放入整数数组(一个元素=两个数字)。我如何从这个文本文件中按时间只读取两位数字,而不是整行?

那么,您可以先读取整行,然后一次将其分成两位数字。或者你可以直接使用

char twodigits[2];
twodigits[0] = fin.get();
twodigits[1] = fin.get();

除了Mats Petersson的回答:

char twodigits[2];
int integerr;
twodigits[0] = fin.get() - '0'; // convert from ASCII
twodigits[1] = fin.get() - '0'; // convert from ASCII
integerr = twodigits[0] * 10 + twodigits[1];

而且,您需要跳过行结束符。这也取决于你在哪个平台上——Windows、Linux、Mac,因为这三个平台都有不同的eol。

EOL字符为0x0A和0x0D组合,而数字为0x30及以上,因此您可以使用它进行检测。