
从结果可以看出,cin是会把空格部分舍弃的。

如果是输入一个 然后空格在输入其他的,因为cin默认把空格去调,则后面的字符我的理解就是溢出?所以报错了。
getline功能就比较强大了,
把空格保存了下来。
要注意的是cin和getline不能同时用。

getline用法。
还有可以注意一哈,cin.getline(name,20)意味是限制输入
/*第四章:编程练习 2 */
#include <iostream>
#include <string>
/* 使用string应当修改#include指令,添加string头文件 */
using namespace std;
/* 预编译指令*/
int main()
{
string name;
string dessert;
/* string能够自动维护字符串长度,因此不需要长度常量 */
cout<<"Enter your name:\n";
// getline(cin,name);
cin >> name;
cout<<"Enter your favorite dessert:\n";
// getline(cin,dessert);
cin >> dessert;
/* getline()函数参数和字符数组的cin.getline()不同,这点需要重视 */
cout<<"I have some delicious "<<dessert;
cout<<" for you, "<<name<<"\n";
return 0;
}
/* main()函数结束,返回值和花括号 */
版权声明:本文为m0_51174684原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。