IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> C++知识库 -> C++中cin、cin.getline()、getline()、cin.get()的用法 -> 正文阅读

[C++知识库]C++中cin、cin.getline()、getline()、cin.get()的用法

cin用法

用法:接收一个字符串,一个数字或一个字符,遇“空格”、“TAB”、“回车”就结束

#include <iostream>
using namespace std;
int main()
{
	char st[100];
	while (cin >> st)
		cout<<st<<endl;
	return 0;
}

在这里插入图片描述

cin.getline()用法

用法:接收一个字符串,可以接收空格并输出

#include <iostream>
using namespace std;
int main()
{
	char m[20];
	cin.getline(m, 5);
	cout << m << endl;
	return 0;
}

在这里插入图片描述
接收5个字符到m中,其中最后一个为’\0’,所以只看到4个字符输出;
总结:
1、cin.getline()实际上有三个参数,cin.getline(接收字符串的变量,接收字符个数,结束字符);
2、当第三个参数省略时,系统默认为’\0’;
3、如果将例子中cin.getline()改为cin.getline(m,5,‘a’);当输入jlkjkljkl时输出jklj,输入jkaljkljkl时,输出jk

getline()用法

用法:接收一个字符串,可以接收空格并输出,需包含头文件,但是不能接受字符数组,如果把代码中的string改成char.则会报错。

#include<iostream>
#include<string>
using namespace std;
int main()
{
	string str;
	while(getline(cin, str))
	cout << str << endl;
	return 0;
}

在这里插入图片描述

cin.get()的用法

#include<iostream>
#include<string>
#include<cstring>
#include<cstdio>
using namespace std;
int main()
{
	char s[100];
	cin.get(s, 10);
		cout<<s<<endl;
	return 0;
}

在这里插入图片描述
注意:cin.get()对string不适用,用法大致与cin.getline()类似。

注意的问题

1、cin.getline()属于iostream流,而getline()属于string流,是不一样的两个函数

2、当同时使用cin>>,getline()时,需要注意的是,在cin>>输入流完成之后,getline()之前,需要通过
str="\n";
getline(cin,str);
的方式将回车符作为输入流cin以清除缓存,如果不这样做的话,在控制台上就不会出现getline()的输入提示,而直接跳过,因为程序默认地将之前的变量作为输入流。
例如:

#include<iostream>
#include<string>
using namespace std;
int main()
{
    int age;
    cout << "请输入你的年龄: ";
    cin >> age;
    cout << "你的年龄是: " << age << "\n";
    string mystr;
    cout << "What's your name? " << endl;
    mystr = "\n";
    getline(cin, mystr);
    getline(cin, mystr);
    cout << "Hello," << mystr << "\n";
    return 0;
}

在这里插入图片描述
若不加:mystr="\n";
getline(cin,mystr);则会出现下列情况
在这里插入图片描述
3.c++中要使用gets和puts,则要puts_s()和gets_s(),对string不适用。
以上可能有错,请多指教

  C++知识库 最新文章
【C++】友元、嵌套类、异常、RTTI、类型转换
通讯录的思路与实现(C语言)
C++PrimerPlus 第七章 函数-C++的编程模块(
Problem C: 算法9-9~9-12:平衡二叉树的基本
MSVC C++ UTF-8编程
C++进阶 多态原理
简单string类c++实现
我的年度总结
【C语言】以深厚地基筑伟岸高楼-基础篇(六
c语言常见错误合集
上一篇文章      下一篇文章      查看所有文章
加:2021-08-23 16:27:24  更:2021-08-23 16:28:36 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年12日历 -2024/12/27 5:14:29-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码
数据统计