首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

小弟我写了一段程序, 但是程序不能记录空格, 不解,求大侠帮助

2012-09-24 
我写了一段程序, 但是程序不能记录空格, 不解,求大侠帮助int main(){string bint num0,num_shuru0,c1

我写了一段程序, 但是程序不能记录空格, 不解,求大侠帮助
int main()

{ string b;
  int num=0,num_shuru=0,c=1;
vector<string> a;

while(cin>>b)  

{a.push_back(b); //输入
num_shuru++; //计数
}

cout<<"输入的是";
for(vector<int>::size_type ix=0;ix<=a.size()-1;ix++)  
{
cout<<a[ix];
}
cout<<"一共"<<num_shuru<<endl;

if(a.size()==0)
{
cout<<"没有输入东西"<<endl;
return -1;
}


if(a.size()%2!=0)
{
cout<<"最后一个没法求职"<<endl;
c=2;
}
else
{
c=1;
}


for(vector<int>::size_type id=0;id<a.size();id++)
{

num++;
cout<<a[id];
if(num%6==0)
cout<<endl;

}
}


把 while(cin>>b) 改成 while(getline(cin,b)) 会存储空格,但是回车不存贮,

不明白为什么,请解释,谢谢了

[解决办法]
getline实现的是换行符为准的,读完一行会直接跳过换行符号读下一行
使用get()函数应该会记录空格和换行!

http://blog.sina.com.cn/s/blog_88feaf0b0100ynnn.html

热点排行