cin>>的读入方式总是将前导的空白符(包括空格、回车、水平或垂直制表符等)滤掉,将单词读入。当遇到空白符时结束本次输入。
getline可读入一行输入,并总是将行末的回车符滤掉。
故处理C++字符串输入时可采取两种方式:
1.通过循环读入单词将内容输入到变量中;
2.一次性输入整行内容。
例如
#include<iostream>
#include<string> //包含string类的头文件,注意s小写!
using namespace std;
int main()
{
string s;
/*循环读入单词
for(s; cin >> s; )
cout << s<<endl;*/
//读入一行字符
getline(cin, s);
cout<<s<<endl; //在VC6.0中,输入结束后两次回车才出结果,这和编译器有关
return 0;
}
#include<iostream>
using namespace std;
int main()
{
/*循环读入单词
for(char a[10]; cin>>a; )
cout<<a<<" ";
cout<<endl;*/
//整行读入
char a[10];
cin.getline(a, 10);
cout<<a<<endl;
return 0;
}