gpt4 book ai didi

c++ - 从 istream 复制永远不会停止

转载 作者:行者123 更新时间:2023-11-28 03:57:44 25 4
gpt4 key购买 nike

这段代码无限运行:

copy(istream_iterator<char>(cin), istream_iterator<char>(), back_inserter(buff));

我期望的行为是当我按下 enter 时它会停止。
然而事实并非如此。
buff 是一个字符 vector 。

最佳答案

我假设您正在键盘上输入内容。

回车键并不表示流结束。从cin的角度来看,这只是另一个角色。您需要提交 EOF 才能实现此目的(Ctrl+Z,Windows 上的 EnterCtrl+ D 在 Unix/Mac 上)。

顺便说一句,这不是从控制台读取字符的常用方法。这是非常低效的(istream_iterator 为每个字符调用 operator>>)并且会因空格而出现错误。要读取一行数据条目,请改用 getline

关于c++ - 从 istream 复制永远不会停止,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2796223/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com