我读了一个整数:
is >> myInteger;
现在我想知道读取了多少位(我说的是可能的前导零)。我怎样才能做到这一点?
你可以:
将值作为字符串获取,然后根据需要单独解析(检查长度、计数零等)。
为此使用 is.tellg;请记住,tellg 将为您提供缓冲区位置,而不是那些位置的内容(可能是空格字符或零)
使用 is.get 逐字符读取缓冲区,然后根据需要处理值。
您可以在输入整数之前获取is.tellg()的值,然后再次获取它并找出差异。
编辑:尽管正如评论中指出的那样,它们只会告诉您消耗了流的多少元素,其中一些可能是空格。