【发布时间】:2010-10-11 21:05:29
【问题描述】:
我在 Mac OSX Snow Leopard 上遇到 std::getline 问题。出于某种原因,它限制了输入的大小,而在 Debian/Ubuntu 上却是无限大小?
std::getline(std::cin, input)
关于极限的任何线索?
【问题讨论】:
-
有限制是什么意思?当您尝试超过限制时会发生什么?
-
OS X x64 上的限制 (
str.max_size()) 为 4 EB。严重怀疑这是问题所在。您更有可能遇到分隔符或 EOF。 -
实际输入是什么,你在程序中得到了什么?一段可编译的短代码会很好(您可能会通过编写短代码 sn-p 来解决您自己的问题)。
-
原因还不清楚,但肯定不是std::getline()的限制。
-
使用 QT Builder 控制台,我可以输入任意数量的字符。该问题仅在使用 Mac OSX Snow Leopard Terminal 时出现。它限制了您可以输入的字符数量。我还没有想出如何增加它。