编辑:
Ctrl-D
终止linux中的缓冲区。
Ctrl-Z
在Windows中。
我应该添加我使用Linux。我用g ++。
现在,我正在通过C ++ Primer Edition 4学习C ++。
在一个例子中,给出了这段代码:
#include <iostream>
int main()
{
int sum = 0, value;
// read till end-of-file, calculating a running total of all values read
while (std::cin >> value)
sum += value; // equivalent to sum = sum + value
std::cout << "Sum is: " << sum << std::endl;
return 0;
}
现在,我输入“3 4 5 6”,然后按回车键,我得到的只是换行符,如:
1 2 3 4 5
Blank line
根本没有输出。
我拒绝使用我还没有学过的概念,到目前为止我不知道cin.METHOD
函数,所以问题是什么?
答案 0 :(得分:3)
输入和输出被缓冲。在控制台中按 Ctrl + Z 结束输入以终止循环。
或从文件中读取:
echo '1 2 3 4 5' > foo.txt
./your-program < foo.txt
或通过管道从标准输入读取:
echo '1 2 3 4 5' | ./your-program
或:
./your-program <<< '1 2 3 4 5'
(取决于您正在使用的终端仿真器。)