【整理】【C++基础】 cin输入

本文详细介绍了C++中cin输入的类型敏感性,以及输入格式错误时如何处理。当cin遇到无效字符或文件结束符时,会进入错误状态,此时需要通过cin.clear()清除错误状态,或者使用cin.ignore()忽略错误输入。同时,文章讨论了cin的各种状态,包括fail(), bad(), eof(), good(),并提供了错误输入时的处理步骤。" 104535974,8052840,HTTP协议详解:Request、Response与Servlet对象应用,"['HTTP协议', 'Servlet', 'Java Web']

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Input and Type

input输入操作符>>对类型敏感,也就是说它根据待输入的变量的类型来输入。比如

int main
{
   
   
    string name; int age;
    cin>>name;
    cin>>age;
}

如果,键入Kathy 18>>操作符会将Kathy读入name,18读入age。为什么不会将整个输入Kathy 18读入name呢?这是因为对字符串的读取终止于空格,比如单个空格、换行或者Tab字符。此外,空格会被>>忽略掉,如果你在一个输入的数字之前键入很多空格,>>会忽略那些空格只读入数字。

如果不按照类型来输入会怎么样呢?比如我们键入18 Kathy,18会被作为一连串的字符读入name,此外,由于Kathy不是整数,将不会被读取到,age的值是一个无意义的随机数(程序执行时age所在的内存单元存储的值),这是因为,我们没有对age进行初始化赋值,也没有成功地给age读取一个值。对于由于输入格式导致的失败更详细的介绍在下一节。

修改上述程序

int main()
{
   
   
    string name; int age;
    cin >> name >> age;
    cout << "Hello, " << name <<"(age:" << age << ")" << endl;
}

注意,我们可以在一条输入命令中输入多个变量的值,同样,我们也可以在一条输出命令中输出多个变量的值。

一个string>>读取输入数据是默认把空格作为终止标志,也就是说只能读入单个单词。但是如果我们想要读入多个单词怎么办呢?比如我们想要读入完整的姓名比如Kathy Chen,最简单

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值