• cin.getline() , getline(cin,s)


    cin.get(),cin.getline() 是C++的

    cin.get()获取一个字符

    cin.getline() 获取一行字符串

    getline(cin,s)是C的,获取一行字符串

    cin.getline()

    用法:接收一行字符串,可以接收空格并输出,可以控制接受的字符范围

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

    输入:jkljkljkl
    输出:jklj

    接收5个字符到m中,其中最后一个为'',所以只看到4个字符输出

    如果把5改成20:
    输入:jkljkljkl
    输出:jkljkljkl

    输入:jklf fjlsjf fjsdklf
    输出:jklf fjlsjf fjsdklf

    延伸:
    1、cin.getline()实际上有三个参数,cin.getline(接收字符串的变量,接收字符个数,结束字符)
    2、当第三个参数省略时,系统默认为''
    3、如果将例子中cin.getline()改为cin.getline(m,5,'a');当输入jlkjkljkl时输出jklj,输入jkaljkljkl时,输出jk

    getline()

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

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

    输入:jkljkljkl
    输出:jkljkljkl

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

    注意的问题

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

    2、当同时使用cin>>,getline()时,需要注意的是,在cin>>输入流完成之后,getline()之前,需要通过

    str=" ";
    getline(cin,str);

    的方式将回车符作为输入流cin以清除缓存,如果不这样做的话,在控制台上就不会出现getline()的输入提示,而直接跳过,因为程序默认地将之前的变量作为输入流。

  • 相关阅读:
    Android_Spinner_example
    23.pyspider安装
    22.Windows及linux下gerapy使用
    21.scrapy爬虫部署
    12.利用kakatips对网站数据信息监控
    11.启信宝数据二次筛选解密(字符串的分割与拼接及正则匹配)-2
    10.Ubuntu操作系统及python2.7、3.5 exe
    9.数据库多表一起查询
    8.代理ip使用
    7.阿布云代理服务器试用
  • 原文地址:https://www.cnblogs.com/clb123/p/13898600.html
Copyright © 2020-2023  润新知