原来问题程序是这样的:
<pre name="code" class="cpp">#include<iostream>
#include<vector>
using namespace std;
int main()
{
vector<char> s;
int len,s_len,i,j;
char c;
cout<<"请输入字符串,按回车表示输入结束"<<endl;
cin>>c;
while (c!='\n')
{
s.push_back(c);
//cin.unsetf(ios::skipws);
cin>>c;
}
cout<<"请输入要划分的每段的长度,按回车表示结束输入"<<endl;
cin>>len;
return 0;
}
问题 在于不回车的时候无法退出wile循环。问题的症结出在哪呢?原来默认情况下cin是忽略对空白符的识别的,不识别回车符(换行符),tab,空格等。如果想让其识别的话,
setf(ios::skipws):忽略对其识别。不忽略unsetf(ios::skipws);
#include<iostream>
#include<vector>
using namespace std;
int main()
{
vector<char> s;
int len,s_len,i,j;
char c;
cout<<"请输入字符串&#x