VerySource

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 655|回复: 1

cin.getline()后,为什么输入缓存的内容没有了

[复制链接]

1

主题

1

帖子

2.00

积分

新手上路

Rank: 1

积分
2.00
发表于 2020-1-23 16:00:01 | 显示全部楼层 |阅读模式
一小段程序如下  
int _tmain(int argc, _TCHAR* argv[])
{
        char p[10];
        char t[10]="111111111";
        char t1;
        cout<<t;
        cin.getline(p,4);
        cout<<p<<endl;
        int a;
        cout<<"here"<<endl;
        cin>>t;
        cout<<"here";
        cout<<t<<endl;

}
输入iloveyou  
显示如下:  
111111111iloveyou
ilo
here
here
请按任意键继续. . .

问题  :
为什么t输出是    (什么都没有(空格或制表符或者...)  )
我认为cout<<t<<endl;这句话肯定执行了,至少endl已经被输出了,那么我的t的内容呢,咋看不到。多谢 !


回复

使用道具 举报

0

主题

1

帖子

2.00

积分

新手上路

Rank: 1

积分
2.00
发表于 2020-2-12 17:15:01 | 显示全部楼层
cout<<"here"<<endl;
cin.clear();
cin>>t;
cout<<"here";
cout<<t<<endl;

这样可以输出
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|CopyRight © 2008-2023|verysource.com ( 京ICP备17048824号-1 )

快速回复 返回顶部 返回列表