zoukankan      html  css  js  c++  java
  • cin.get(),cin.getline(),getline(),gets(),getchar()

    1.cin.get()
    (1).cin.get()-------提取单个字符,可以提取回车、空格
    a=cin.get();
    (2) 同(1)---------------提取单个字符,可以提取回车、空格
    cin.get(a);
    (3).-------------------不提取  回车
    cin.get(字符数组,字符个数n,终止字符);//终止字符可以不写,默认为' '
    或cin.get(字符指针,字符个数n,终止字符);//终止字符可以不写,默认为' '
    不可跳过终止符号。需把回车' '提取掉
    可以写成
    cin.get(a,20);
    cin.get();
    也可以组合写成
    cin.get(a,20).get();


    2.cin.getline()//---不提取 回车
    cin.getline(字符数组 /字符指针,字符个数n,终止标志字符);//终止字符可以不写,默认为' '
    可跳过终止符号。
    即每次读取一整行并把由Enter键生成的换行符抛弃
    返回值:此处还待研究,求大神指导。

    3.getline()-----------用于  string  字符串的。
    getline()     // 接受一个字符串,可以接收空格并输出,需包含“#include<string>

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

    上面代码,如果输入a b c,需要按两次回车键才能显示a b c(在VC6中),因为getline有三个参数, 第三个参数是字符串的结束符,也就是当getline遇到这个结束符时,就不在接受输入了,比如写成getline(cin,st,'s'); 即使输入的是abcsabc 那么也只会显示 abc ,因此对于上面出现的情况,有人说getline默认情况下以回车(' ')作为结束符,第一次按回车表示字符串结束,第二次按回车才开始输出。


    4.gets() ////-----跟  cin.getline()类似,不提取  回车
    gets()        // 接受一个字符串,可以接收  空格  并输出,需包含“#include<stdio.h>
    返回值:gets(str) 在读取成功的时候返回str,str保存的是成功读入的内容
    在失败的时候返回NULL,str的内容保持不变

    #include<iostream>
    #include<stdio.h>
    using namespace std;
    int main(){
        char a[20];
        gets(a);        //不能写成a=gets();
        cout<<a<<endl;
        return 0;
    }

    输入:abc
    输出:abc
    输入:a b c
    输出:a b c
    类似cin.getline()里面的一个例子,gets()同样可以用在多维数组里面:

    #include<iostream>
    #include<stdio.h>
    using namespace std;
    int main (){
        char a[3][20];
        for(int i=0; i<3; i++)
            gets(a[i]);
        cout<<"--------"<<endl;
        for(int j=0; j<3; j++)
            cout<<a[j]<<endl;
        return 0;
    }

    输入:
    a b 1
    a b 2
    a b 3
    输出:
    a b 1
    a b 2
    a b 3 
    感觉gets()和cin.getline()的用法很类似,只不过cin.getline()多一个参数罢了;


    5.getchar()
    getchar()   //接受一个字符,需包含“#include<stdio.h>

    #include<iostream>
    #include<stdio.h>
    using namespace std;
    int main (){
        char a;
        a=getchar();           //   getchar( a )--------写法错误
        cout<<a<<endl;
        return 0;
    }

    输入:abc
    输出:a

  • 相关阅读:
    Python入门篇-面向对象概述
    Python的序列化与反序列化
    Python的csv文件(csv模块)和ini文件(configparser模块)处理
    使用Cloudera Manager添加Sentry服务
    Python的高级文件操作(shutil模块)
    Python的正则表达式re模块
    正则表达式基础知识
    Python语言防坑小技巧
    Python标准库-数字的处理函数(math模块)
    Python数据结构汇总
  • 原文地址:https://www.cnblogs.com/gongpixin/p/4477490.html
Copyright © 2011-2022 走看看