为什么使用getline从stdin接收大量输入会截断我的输入?

问题描述 投票:0回答:1

我一直在尝试从cpp中的标准输入中获取输入。我的输入包含1000个数字(每个数字的最大大小<= 10 ^ 9)。问题是,当我复制粘贴来源中的数字并将其粘贴到终端上时,并非所有数字都在终端上列出了,因此我的代码给出了错误的输出。这是我的终端的屏幕截图

screen shot of my terminal

我正在从getline()获取输入并存储在字符串缓冲区中。

为什么我的命令提示符会截断我的输入?

c++ string input console getline
1个回答
2
投票

从屏幕快照中,您似乎正在使用Windows命令提示符。这些有一个line limit of 8191

在命令提示符中,您在命令提示符处使用的以下命令行的总长度不能超过2047或8191个字符(根据您的操作系统而定:]

如果您需要输入超出此限制的大数字列表,则从文件中读取它们可能会更好。

© www.soinside.com 2019 - 2024. All rights reserved.