C ++提取运算符:如何知道读取的位数?

时间:2014-07-02 09:52:36

标签: c++ extraction-operator

我读了一个整数:

is >> myInteger;

现在我想知道读了多少位数(我说的是可能的前导零)。我怎么能这样做?

2 个答案:

答案 0 :(得分:5)

你可以:

  • 将值作为字符串获取,然后单独解析,无论您希望如何(检查长度,计数零等)。

  • 为此使用is.tellg;请记住,tellg会给你缓冲位置,而不是那些位置的位置(它可能是空格字符或零)

  • 使用is.get逐字符读取缓冲区,然后根据需要处理值。

答案 1 :(得分:2)

在流式传输整数之前,您可以获得is.tellg()的值,然后再次获取它并找到差异。

编辑:虽然正如评论中所指出的那样,只会告诉你流消耗了多少元素,其中一些可能是空格。