2017-08-16 58 views
-1

我试图把输入变量数量的字符串和numbers.Found该解决方案link变量输入:如何采取从标准的C++

我想这对于数字

#include<iostream> 
using namespace std; 
int main(){ 
    int np; 
    while (cin>>np){ 
     cout << np<<endl; 
    } 
    return 0; 
} 

字符串:

#include<iostream> 
#include<string> 
using namespace std; 
int main(){ 
    string line; 
    while (getline(cin, line)){ 
     cout << line <<endl; 
    } 
    return 0; 
} 

但是,当我运行代码,甚至如果我只是按回车,它不会出现循环。循环应该终止,如果只是一个回车键被按下,但没有发生。

请提供建议如何实现此功能。

+5

回车键仍然是一个有效的字符串。 –

+0

那么如果没有其他人离开,如何停止输入? – ssharma

+1

取决于操作系统。如果内存服务,在Windows中它是'Ctrl + Z',在Unix中它是'Ctrl + D'。 – Abstraction

回答

2

你可以写

while (std::getline(std::cint, line) && !line.empty()) { 
    // ... 
} 

只有不断循环当获取字符串是空的。