一、string类的getline函数(全局函数)
getline()函数的定义如下所示
1. istream& getline ( istream &is , string &str , char delim );
2. istream& getline ( istream &is , string &str );
is 进行读入操作的输入流
str 用来存储读入的内容
delim  终结符,遇到该字符停止读取操作,不写的话默认为回车,如定义2中的示例。
函数的返回值:
        与参数is一样。
        前方预警,请各位看官注意!!!
        所以在使用while(getline(cin,line))的时候,判断while()是否结束循环的条件不是输入流是否输入了回车(或getline函数里你自己定义的结束符),而是getline这个函数是否输入无效(这么说好像有点绕,给你们来个爽快的)。直到你输入了EOF或者ctrl+z,while循环才会结束,而且要注意的是,只有getline函数动作完毕时,while才会执行内部的循环,例如
        while(getline(cin,str))
        {
                cout<<str<<endl;
        }
直到你输入了回车或者你自己设定的结束符,str这个字符串才会被输出。理解了这一层就不难理解为什么输入回车while却无法跳出循环的现象了,这其实还是最基本的while条件判断而已(只要判断getline的返回值是否为真即可),只不过很容易将新手迷惑而已。
注意:上面讲到的getline(cin,str)实际是一个全局函数,本身属于string类。所以你使用该函数的时候请记得添加#include <string>头文件。下面介绍一个与getline很相似的函数cin.getline。
二、输入流成员函数cin.getline            
原型如下 
cin.getline(char* charr,int num,char f);
向字符数组charr(注意定义类型,是字符数组不是字符串)中输入num个字符,输入过程中达到num个数或者提前遇到f字符,输入结束。
        注:这里的getline是输入流对象的成员函数,即istream::getline,使用时需要头文件#include<iostream>。

getline()函数的几点疑惑相关推荐

  1. 电话号码查询(getline函数)

    问题: 输入是某电话公司的若干客户姓名及电话号码,中间用逗号分隔,然后是若干要查询的客户姓名,输出是这些查询的客户姓名及其电话. 输入: 第一行是一个正整数n(不超过100000),表示某电话公式的客 ...

  2. C++中getline()函数

    我的技术博客:www.cnblogs.com/overcode 学习C++的同学可能都会遇到一个getline()函数,譬如在C++premer中,标准string类型第二小节就是"用get ...

  3. C++中getline函数的使用

    代码: 1 #include <iostream> 2 #include <cstdio> 3 4 using namespace std; 5 6 int main(){ 7 ...

  4. c++ getline 读不到东西_C++ getline()函数问题

    你的位置: 问答吧 -> C/C++ -> 问题详情 C++ getline()函数问题 在下面这段代码中,是先把一个文件中字符按行存贮在一个vector容器中,然后用sstream对象来 ...

  5. Linux C学习--getline()函数

    getline()函数是什么?百度百科这样解释: getline不是C库函数,而是C++库函数.它会生成一个包含一串从输入流读入的字符的字符串,直到以下情况发生会导致生成的此字符串结束.1)到文件结束 ...

  6. 关于VC++6.0中getline函数的一个bug

    关于VC++6.0中getline函数的一个bug 最近在调试程序时,发现getline函数在VC++6.0和其他编译器上运行结果不一样,比如有如下这段程序: #include <iostrea ...

  7. getline()函数

    本文转自:http://blog.sina.com.cn/s/blog_60263c1c0101ck25.html 学习C++的同学可能都会遇到一个getline()函数,譬如在C++premer中, ...

  8. C++中的getline函数

    C++中本质上有两种getline函数,一种在头文件< istream >中,是istream类的成员函数.一种在头文件< string >中,是普通函数. 一.在< i ...

  9. !!统计字符(处理字符串)(getline函数使用)

    题目:统计字符 C++中的getline函数 /* HDU1860 统计字符 */#include <iostream> #include <string>using name ...

最新文章

  1. 全卷积神经网路【U-net项目实战】U-Net网络练习题: Kaggle - 2018 Data Science Bowl
  2. 市面上常见arduino版本比较
  3. 提高Python运行效率的六个窍门
  4. android弹窗闪退,[Android 小记] PopupWindow中放置Spinner 点击直接闪退的问题分析
  5. 走近webpack(1)--多入口及devServer的使用
  6. Kubernetes 上对应用程序进行故障排除的 6 个技巧
  7. GuaiGuai ---- 1
  8. 电脑软件:推荐一款本地文档搜索神器,赶快下载试试吧!
  9. nbu 7.5备份oracle,NBU7.5备份oracle
  10. 乐高叉车wedo教案_15乐高教育wedo编程机器人手臂教案
  11. 数量乘单价秋金额的计算机公式,在电子表格中数量乘以单价等于金额用什么样的公式啊?怎么算呢?...
  12. C语言socket重连和心跳,c# socket 心跳 重连
  13. ie8 阻止java运行_解决IE屏蔽Java Applet问题的方法
  14. 中国量化金行业全解:金融工计机计金领就指
  15. Jmeter源码分析(二)
  16. 图解数据分析:从入门到精通系列教程
  17. 大数据职业发展规划和技能
  18. 六级考研单词之路-四十八
  19. mysql 获取当前日期_详解mysql 获取当前日期及格式化
  20. A Convolutional Neural Network for Modelling Sentences之每日一篇

热门文章

  1. 中缀表达式转换成前缀表达式和后缀表达式的极其简单方法
  2. 转战pytorch(3)——跟上脚步(以Albert为例)
  3. Linux迁移home目录到根目录的操作步骤
  4. 从零到一搭建基础架构(2)-如何构建基础架构模块划分
  5. MATLAB图形标注
  6. Google翻译API使用案例
  7. Eclipse 里Tomcat 启动很慢
  8. Criteria用法的小结
  9. css3 立方体3d旋转效果
  10. 黑莓BES系统架构介绍