C++getline和 cin的探讨

在这里插入图片描述
从结果可以看出,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版权协议,转载请附上原文出处链接和本声明。