【C++】cin输入istream流使用总结

  • Post author:
  • Post category:其他




cin常用输入函数



cin >> 数字


nite:

>>

会滤掉不可见字符(如空格、回车、TAB等)



cin>>字符串


note:接受一个字符串,遇空格、回车、TAB结束



cin.get()

没有参数主要是用于舍弃输入流中的不需要的字符,或者舍弃回车,弥补cin.get(字符数组名,接收字符数目)的不足



cin.get(字符)


用来接收第一个字符



cin.get(字符数组名,接收字符数目)


可以用来字符串(包含空格)



cin.getline()

无参数时,遇见

'\0'

输出,即得到一行



cin.getline(字符串,接收个数,结束字符)

有三个参数时,更为灵活,可以选择以某个字符为结束标志。



getline():string流

接受一个字符串,可以接收空格并输出,需包含“#include<string>”

和cin.getline()类似,但是cin.getline()属于istream流,而getline()属于string流,是不一样的两个函数



应用:cin输入空格作为结束



PListHead CreatList()
{
	PListHead pHead = new ListNode;
	PCurNode pCurNode = pHead;
	int val = 0;
	cout << "Input data(Enter to quit) to creat List:" << endl;
	while (cin >> val)
	{
		ListNode* newNode = new ListNode;
		newNode->m_pNext = nullptr;
		newNode->m_val = val;
		pCurNode->m_pNext = newNode;
		pCurNode = newNode;
		if (cin.get() == '\n')//要放在后面
			break;
	}
	return pHead;
}

cin>>val是有返回值的,只要val满足类型条件,就会return true,一直执行下去,而

cin会忽略空格或者enter


cin.get()接收字符忽略掉数字可以作为判断结束的条件

cin.get(无参数)

没有参数主要是用于舍弃输入流中的不需要的字符,或者舍弃回车,弥补cin.get(字符数组名,接收字符数目)的不足


https://www.cnblogs.com/luolizhi/p/5746775.html



版权声明:本文为vict_wang原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。