cin cin.get cin.getline getline 二三事

本文详细介绍了C++中cin、cin.get、cin.getline和getline的区别与用法,包括结束符处理、适用范围、错误处理等方面,并通过实例演示了它们在处理字符串输入时的行为,特别是对空格、TAB的处理以及溢出和安全性问题。

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

工具:Visual Studio 2017 professional
一共四个函数,有些同学经常分不清楚它们的区别,我复习并测试了会,写个笔记吧~
结束符:对cin来说,tab、空格、回车都是结束符,cin.get、cin.getline、getline的默认结束符是回车并且可以自定义结束符。cin和cin.get()在读取字符串时,遇到结束符都会停止读取,并且将结束符留在缓存区。 cin.getline和getline会自动舍弃结束符
适用范围:cin和cin.get和cin.getline都只适用于char*,而不适用于string。string可以用getline,getline不能用于char*。
错误处理:当输入超长数据时,这几个函数都会报错,但是除cin之外的三个函数都可以在调用时指定输入长度,更加安全。
1、cin

#include<iostream>
using namespace std;
int main()
{
	char ch;
	char ch1[10];
	char ch2[10];
	cout << "输入两个字符串:" << endl;
	cin >> ch1;
	cin >> ch2;
	cout << "两个字符串分别为:" << endl;
	cout << ch1 << endl;
	cout << ch2 << endl;
	cin.get(ch);
	cout << (int)ch << endl;
}

输入:123[空格][空格][TAB][TAB]456

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值