现在的位置: 首页 > 综合 > 正文

stringstream和cin

2018年12月13日 ⁄ 综合 ⁄ 共 333字 ⁄ 字号 评论关闭

stringstream ss;

ss<<153;

ss<<" ";

ss<<67;

ss>>i>>j;

cout<<ss.str()<<endl<<i<<endl<<j<<endl;

output:

153 67

153

67

ss是一个流,所以153和67放在流中,但是这个流不会因为输出而变化,也就是说只能<<往流里放数据,但是不能通过>>把流里的东西删除

如果要删除流里的东西,必须用

ss.clear()

ss.str("")

下面是cin的一个小问题

如果是按行读取文本中的整数,必须用一个字符串接收回车符

int i;string s;

while()

{

cin>>i;//回车符还在流中

cin>>s;

}

也可以这样做

while()

{

cin>>s;//把回车符之前的字符串放在s中,回车符从流中删除

}

抱歉!评论已关闭.