在 C++ 中同时使用 cin 将整数添加到数组 [关闭]
Posted
技术标签:
【中文标题】在 C++ 中同时使用 cin 将整数添加到数组 [关闭]【英文标题】:Add integers to array using cin simultaneously in C++ [closed] 【发布时间】:2017-11-03 07:53:49 【问题描述】:大家好,我想一次将九个整数添加到数组中,而无需在运行时按回车键。请大家告诉我如何在 C++ 中同时将九个整数添加到数组中。 谢谢!
【问题讨论】:
std::cin
a std::string
并使用一些除号规则对其进行解析。
见***.com/a/1321154/3754223
Convert String containing several numbers into integers的可能重复
【参考方案1】:
如果您想在控制台中的输入完成后立即处理每个整数值(例如,空白表示下一个整数值应该开始),那么您处于错误的位置。
原因是终端输入(超出您的 C++ 程序可以影响的范围)经常被缓冲,甚至在终端中按下 Enter
或 EOF
之前,即使 cin
也可能不会收到任何字符。
可能存在conio.h
或ncurses
之类的变通方法,但它们不是标准的,在您的情况下可能不值得努力,除非您确实需要为与控制台输入紧密连接的生产环境实施整数扫描。
尝试一下,并将直接从控制台获取的输入与来自已经“填充”有足够输入的流的输入进行比较:
int main()
stringstream ss("12 34 56 78 90 10 11 12 13");
//istream &in = ss; // would output each integer immediately.
istream &in = cin; // will probably wait for enter before processing begins.
int value = 0;
for (int i=0; i<9; i++)
if (! (in >> value))
break;
cout << value << "; ";
【讨论】:
以上是关于在 C++ 中同时使用 cin 将整数添加到数组 [关闭]的主要内容,如果未能解决你的问题,请参考以下文章