ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

C++ 中 cin.get()、cin.getline()、getline()的用法总结

2019-09-13 21:02:34  阅读:188  来源: 互联网

标签:1.1 get cin 字符串 include getline


原文链接:https://www.cnblogs.com/flatfoosie/archive/2010/12/22/1914055.html

C++ 中 cin.get()、cin.getline()、getline()的区别

文章目录

1 输入输出流

#include<iostream>

1.1 cin.get() 用法
1.1.1 cin.get(字符变量名)可以用来接收一个字符
#include <iostream>
using namespace std;
int main (){
	char ch;
	ch = cin.get();   //或者cin.get(ch);
	cout << ch << endl;
	return 0;
}
// 输入:jljkljkl
// 输出:j
1.1.2 cin.get(?,?)用来接收一行字符串,可以接收空格
  • cin.get(字符数组名,接收字符数目)
#include <iostream>
using namespace std;
int main (){
	char a[20];
	cin.get(a,20);
	cout << a << endl;
	return 0;
}
// 输入:jkl jkl jkl
// 输出:jkl jkl jkl

// 输入:abcdeabcdeabcdeabcdeabcde (输入25个字符)
//输出:abcdeabcdeabcdeabcd (接收19个字符+1个'\0')
1.1.3 cin.get()舍弃回车
  • cin.get(无参数)没有参数主要是用于舍弃输入流中的不需要的字符,或者舍弃回车,弥补cin.get(字符数组名,接收字符数目)的不足。
  • 用法看这道题( 翻转字符串)。
1.2 cin.getline() 用法
1.2.1 cin.getline()接受一个字符串(可含空格)
#include <iostream>
using namespace std;
int main (){
	char m[20];
	cin.getline(m,5);
	cout << m << endl;
}
// 输入:jkljkljkl
// 输出:jklj

// 接受5个字符到m中,其中最后一个为'\0',所以只看到4个字符输出。

2 string类

#include<string>

2.1 getline() 用法
2.1.1 getline() 接受一个字符串(可含空格)
#include<iostream>
#include<string>
using namespace std;
int main (){
	string str;
	getline(cin,str);
	cout << str << endl;
	return 0;
}
// 输入:jkljkljkl
// 输出:jkljkljkl

// 输入:jkl jfksldfj jklsjfl
// 输出:jkl jfksldfj jklsjfl

3 总结一下

写了这么多,好像有用的需要记住的也就三点。

  • cin.get(); 可以吃掉一个回车。
  • getline(cin, str); 输入字符串。
  • cin.getline(charstr, num) ;可以用来截断字符串。

标签:1.1,get,cin,字符串,include,getline
来源: https://blog.csdn.net/Richard__Ting/article/details/100809837

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有