zoukankan      html  css  js  c++  java
  • 2. getline()和get()

    1.面向行输入:getline() ---其实还可以接受第三个参数。

    • getline()函数读取整行,调用该方法
    • 使用cin.getline()。该函数有两个参数,
    • 第一个参数是是用来存储输入行的数组的名称,
    • 第二个参数是要读取的的字符数。若这个参数为20,则函数最多读取19个字符加一个空字符。
    • getline()函数每次读取一行,通过换行符确定行尾,但不保存换行符。在哪存储字符串时,他用空字符来替换换行符。
    cin.getline(array,20); //表示将把一行读入到array数组中,前提是这行字符不超过19个,

    1. get()函数(有三种用法)

    • 该函数有几种变体,其中一种变体的工作方式与getline()类似,接收参数和解释参数发方式也相同,并且都读到行尾。
    • get()不会丢弃换行符。而是将其留在输入队列中。
    • 若连续两次调用get(),由于第一次调用后,换行符将留在输入队列中。因此第二代次调用时看到的第一个字符便是换行符,因此get()认为已到达行尾,而没有发现任何可取的内容。
    cin.get(array1, Size);
    cin.get(array2, Size);
    • 使用不带任何参数的cin.get(),可读取下一个字符(包括阔换行符),用它处理换行符,为读取下一行输入做好准备,可以解决上面的问题。   
    cin.get(array1, Size);
    cin.get();
    cin.get(array2, Size);
    • 将两个类成员函数合并
    cin.get(array, Size),get();  //cin.get()返回一个cin对象,该对象被用来调用get()函数
    • 将输入中连续的两行分别读入到数组name1和name2中,效果和两次调用cin.getline()相同。
    cin.getline(name1, Size).getline(name2, Size);

      

     

      

  • 相关阅读:
    名字匹配(水题)
    奇怪的键盘
    杰杰的键盘
    Windows Message Queue(优先队列)
    筛法求素数
    会场安排问题(贪心)
    Sail
    Elevator
    Lowest Bit
    File Searching
  • 原文地址:https://www.cnblogs.com/sjxbg/p/5651804.html
Copyright © 2011-2022 走看看