#include<string>
#include<iostream>
using namespace std;
using std::string;
using std::cin;
using std::cout;
using std::endl;
int main( )
{
string line;
while (getline(cin,line))
cout<<line<<endl;
return 0;
}
如果没有加
using namespace std;
就会显示getline 未定义的变量
不知道为什么这样?
操作页面:
注意:有时我们希望最终的字符串中保留空格符,这时应用getline,getline函数从给定的输入流中读入内容,知道遇到换行符(注意换行符也被读进来了),然后将所读的内容存入到string对象中(注意不存换行符)。getline只要一遇到换行符就结束读取操作并返回结果,哪怕输入的一开始就是换行符。如果一开始输入换行符,则所得结果为空string.
因为line中不包含换行符,所以手动地加上换行操作符。和往常一样,使用endl结束当前行并刷新显示缓冲区。
note:出发getline函数返回的那个换行符实际上被抛弃了,得到的string对象中并不包含该换行符
让我无法明白的是为什么输入输出之间隔着好几行空格?