在 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++ 程序可以影响的范围)经常被缓冲,甚至在终端中按下 EnterEOF 之前,即使 cin 也可能不会收到任何字符。

可能存在conio.hncurses 之类的变通方法,但它们不是标准的,在您的情况下可能不值得努力,除非您确实需要为与控制台输入紧密连接的生产环境实施整数扫描。

尝试一下,并将直接从控制台获取的输入与来自已经“填充”有足够输入的流的输入进行比较:

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 将整数添加到数组 [关闭]的主要内容,如果未能解决你的问题,请参考以下文章

在 C++ 中将整数添加到数组中?

无法在 C++ 中声明动态二维数组 [重复]

C++程序在迭代到数组的最后一个元素时崩溃

C++:从 cin 读取整数行

C++ 中的 Getline 和 cin.ignore

如何在 C++ 中将字符串数组转换为整数数组?