读书人

小弟我写了一段程序 但是程序不能记

发布时间: 2012-09-24 13:49:42 作者: rapoo

我写了一段程序, 但是程序不能记录空格, 不解,求大侠帮助
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

读书人网 >C++

热点推荐