专栏首页Aloys的开发之路C++语言中cin cin.getline cin.get getline gets getchar 的用法实例

C++语言中cin cin.getline cin.get getline gets getchar 的用法实例

#include <iostream>

#include <string>

using namespace std;

//关于cin cin.getline cin.get getline gets getchar 的用法实例

void main(int argc, char* argv[])

{

//1、cin>>

//method one, 也就是最常用的方法 输入一个数字

cout << "Test cin>> 用法1:" << endl;

int a,b;

cout << "input two integer:" << endl;

cin >> a >> b;

cout << "SUM =" << a + b << "\n" << endl;

//method two,输入一个字符串,遇到“空格 回车 Tab”都结束

cout << "Test cin>>用法2:" << endl;

char array[10];

cout << "input a char array:" << endl; 

cin >> array;

cout << array << "\n" << endl;

//2、cin.get()

//one cin.get(字符变量名) 可以用来接收字符

cout << "Test cin.get(字符变量名):" << endl;

char ch;

char cch;

cout << "Input a char:" << endl;

ch = cin.get(); //把之前输入的回车符号滤去

cch = cin.get(); //or cin.get(ch);

cout << cch << "\n" << endl;

//two cin.get(字符数组,接收的字符数) 用来接收一行字符串可以接收空格

cout << "Test cin.get(字符数组,接收的字符数):" << endl;

char array1[20];

cout << "Input a char array:" << endl;

ch = cin.get(); //把之前输入的回车符号滤去

cin.get(array1,10);

cout << array1 << "\n" << endl;

//注:cin.get(无参数)主要用来舍弃输入流中不需要的字符 或者舍弃回车

//从而弥补了cin.get(字符数组,接收的字符数)的不足

//3、cin.getline(cin,str)  接收一个字符串 可以接收空格

cout << "Test cin.getline() 的用法:" << endl;

char array2[20];

cout << "Input a char array:" << endl;

ch = cin.get(); //把之前输入的回车符号滤去

cin.getline(array2,20);

cout << array2 << "\n" << endl;

//实际上cin.get(字符数组,接收的字符数) 和cin.getline(字符数组,接收的字符数)

//有三个参数cin.getline(字符数组,接收字符数,结束字符) 第三个参数默认是'\0'

//多维数组中也经常用到cin.getline(字符数组,接收的字符数)的用法

cout << "cin.get(字符数组,接收的字符数) is used in multidimensional array:" << endl;

char array3[3][10];

for (int i = 0;i < 3;i ++)

{

cout << "请输入第" << i+1 << "行的字符串:" << endl;

cin.getline(array3[i],10);

}

for (int j = 0;j < 3;j ++)

{

cout << "第" << j+1 << "行:" << array3[j] << endl;

}

//4、getline(cin,str)的用法 接收一个可以包含空格的字符串(这儿是string类型的) 需要包含头文件#include <string>

//getline(cin,str)是string流不是i/o流

cout << "Test getline(cin,str):" << endl;

string str;

cout << "Input a string:" << endl;

//ch = cin.get(); //把之前输入的回车符号滤去

getline(cin,str);

cout << str << "\n" << endl;

//5、gets(char *) 接收一个可以包含空格的字符串 需要包含头文件#include <string>

cout << "Test gets(char *)的用法" << endl;

char array4[20];

cout << "input a char array:" << endl;

ch = cin.get(); //把之前输入的回车符号滤去

gets(array4);

//The gets function reads a line from the standard input stream stdin and stores it in buffer. 

//The line consists of all characters up to and including the first newline character ('\n').

//gets then replaces the newline character with a null character ('\0') before returning the line

cout << array4 << "\n" << endl;

//gets(char *)也可以用在多维数组里面 跟cin.getline()用法类似

//6、getchar(无参数) 接收一个字符 需要包含头文件#include <string>

cout << "Test getchar(无参数)的用法:" << endl;

char ch1;

cout << "input a char:" << endl;

ch1 = getchar(); // 不能写成getchar(ch1);

cout << ch1 << "\n" << endl;

//getchar()是C的函数 C++是兼容C 所以也可以使用 但尽量不用或少用

}

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • Linux压缩与解压常用命令

    tar的相关参数 -c: 建立压缩档案 -x:解压 -t:查看内容 -r:向压缩归档文件末尾追加文件 -u:更新...

    用户1221057
  • 能让程序做的事情坚决不用人来做——批量修复markdownlint MD034警告

    欢迎和大家交流技术相关问题: 现在各种编程语言都有自己的lint工具来做静态检查,防止一些低级错误并维持统一的风格。Markdown这样的样式标记语言也不例外,...

    用户1221057
  • Unix/Linux操作系统中如何在sqlplus/rman中使用方向键

    默认情况下在Unix/Linux中使用Oracle的sqlplus/rman是无法使用↑↓←→几个方向键进行操作的,要想达到Windows下使用sqlplus/...

    用户1221057
  • 2004-输入一个百分制的成绩t,将其转换成对应的等级

    如果输入数据不在0~100范围内,请输出一行:“Score is error!”。

    用户2038589
  • 【ACdream 1187】Rational Number Tree(树,递归)

    有理数的树,根节点是1/1,左儿子是1/2,右儿子是2/1...。求给定的分数是第几个,或者给定n求第n个分数。 递归。 给定的分数,每次递归,如果分子比较小,...

    饶文津
  • nginx 缓存策略实现方案

    由于本人工作原因,涉及到网络直播领域,其中视频的回放下载,涉及到了一些视频下载方面的技术。针对于一个完整视频的下载,目前市面上的主流做法是,先将整个视频流切片,...

    后端技术探索
  • nginx的反向代理缓存

    假设有两台物理机,他们分属于不同的域名,以webgame的游戏运营商和开发商为例,运营商需要获取游戏中的排行数据,开发商为了过多对游戏服务器的请求,会在发起请求...

    meteoric
  • nginx Proxy Cache 配置

    配置一块公用的内存区域的名称,该区域可以存放缓存的索引数据。注意:zone 代表用于存放缓存索引的内存区域的名称(需要使用 proxy_cache_path指令...

    码缘
  • 为网站开启Nginx缓存加速,支持html伪静态页面

    上一篇文章分享了如何开启 Nginx 的缩略图功能,也提到了 Nginx 缩略图在完美替代七牛缩略图或 PHP 缩略图的同时,还会带来一定的 CPU 负载消耗。...

    张戈
  • nginx基本应用(二)

    正向代理是一个位于客户端和目标服务器之间的代理服务器(中间服务器)。为了从原始服务器取得内容,客户端向代理服务器发送一个请求,并且指定目标服务器,之后代理向目标...

    没有故事的陈师傅

扫码关注云+社区

领取腾讯云代金券