1.cin的输入问题:
(1)cin读取数据的时候,会自动清除空格键,换行符。
验证:
#include <iostream>
using namespace std;
int main()
{
char a;
int b;
float c;
cin>>a>>b>>c;
cout<<a<<" "<<b<<" "<<c<<" "<<endl;
system("pause");
return 0;
}
输入结果:A 2 3.5 输出结果:,可见,cin是不读取空格符的。
换一种输入格式输入 输入结果:,可见 cin也不读取换行符的。
(2)如果想让cin读取输入的空格,则有两种办法:
A.cin.get(ch);
B.cin>>noskipws>>XXX;
A情况的演示:
#include <iostream>
using namespace std;
int main()
{
char a;
a=cin.get();
cout<<a<<endl;
system("pause");
return 0;
}
输入: 输出只有空格,证明cin.get()是可以读取到空格的。
B情况的演示:
#include <iostream>
using namespace std;
int main()
{
char a;
cin>>noskipws>>a;
cout<<a<<endl;
system("pause");
return 0;
}
输入 a 输出结果:只有空格,证明noskipws也是可以控制cin读取空格的。