【发布时间】:2013-10-21 06:35:16
【问题描述】:
假设我有示例代码:
std::string s;
std::cin >> std::setw(4) >> s;
std::cout << s;
现在对于输入 abcdef,结果将是 abc,对于 abc,结果也是 abc。问题是如何检查字符串是否由于限制而在中间拆分或结果字符串是实际字符串?我需要知道输入是否适合或某些数据被跳过。
【问题讨论】:
-
为什么不将整个字符串作为输入并使用一些子字符串变体?
-
因为内存可能放不下,浪费资源。
-
如果你之后清除字符串的内容,这将是一个非常边缘的资源丢失。
-
hmm..如何使用 getchar 或其 c++ 等效 istream::get ?在读取输入时,如果您点击 feof 这意味着没有更多的 charav=cters 剩余,如果没有,您已经读取了不完整的数据
-
JGab:是的,当然,如果我加载几 GB 的数据,这将是非常微不足道的。 ArunMu:我正在寻找比这更聪明的东西。