#include <iostream>
#include <cstring>
#include <string>
using namespace std;
int main()
{
string str;   
char charr[20];
cin.getline(charr,20);
cout<<charr<<endl;
getline(cin,str);
cout<<str<<endl;
return 0;
} 1、两个函数虽然看上去名称相同都是getline,但它们却分属于不同的类中的成员函数。
cin.getline(charr,20);的getline是输入流对象的成员函数,即istream::getline,使用时需头文件#include <iostream>
getline(cin,str);的getline是string类对象的成员函数,即string::getline,使用时需头文件#include <string>,注意不是cstring
2、string类的getline(cin,str);中第一个参数要求是一个输入流对象的引用,即istream&,第二个参数则是一个string类的对象。这里cin就是C++内部定义的一个全局的输入流对象,即extern istream cin,str是你定义的string类对象。

原型
istream& getline ( istream &is , string &str , char delim );
istream& getline ( istream& , string& );
参数
is 进行读入操作的输入流
str 存储读入的内容
delim 终结符
返回值
与参数is是一样的
功能
将输入流is中读到的字符存入str中,直到遇到终结符delim才结束。对于第一个函数delim是可以由用户自己定义的终结符;对于第二个函数delim默认为 '\n'(换行符)。
函数在输入流is中遇到文件结束符(EOF)或者在读入字符的过程中遇到错误都会结束。
在遇到终结符delim后,delim会被丢弃,不存入str中。在下次读入操作时,将在delim的下个字符开始读入。
举例:
#include<cstring>//getline包含在cstring头文件里
#include<iostream>
using namespace std;
int main()
{
string str;
getline(cin,str,'#');
char c=getchar();
cout<<str<<' '<<c<<endl;
return 0;
}
输入为:aa#b
输出为:aa c
  
注意
这个getline是个全局函数,而不是iostream的成员函数getline。
编辑本段成员函数getline
getline也可以作为成员函数使用
cin.getline(char* cha,int num,char f);
向cha中输入num个字符,输入过程中达到num个数或者提前遇到f字符,输入结束。

最新文章

  1. 忘记Mysql登录密码
  2. 网站防止CC攻击的方法
  3. MAPR 开发环境搭建过程记录
  4. java concurrent包的学习(转)
  5. Learning WCF Chapter1 Generating a Service and Client Proxy
  6. php微信支付接口开发程序(一)
  7. Python之路【第一篇】:Python前世今生
  8. C++中对sprintf()函数的说明(转)
  9. Windows 取得至高无上的权限
  10. FileDescriptor
  11. Qt之日志输出文件
  12. CoreAnimation 寄宿图
  13. 登录功能(MD5加密)
  14. LOJ 2409「THUPC 2017」小 L 的计算题 / Sum
  15. Dash by Plotly 学习笔记
  16. pp 总结一
  17. django 初始命令
  18. pandas1
  19. 在android应用程序中启动其他apk程序
  20. PL/SQL编程基础(二):变量的声明、赋值、(赋值、连接、关系、逻辑)运算符

热门文章

  1. Netty常用招式——ChannelHandler与编解码
  2. Knativa 基于流量的灰度发布和自动弹性实践
  3. js 判断两个对象是否相等
  4. redis编译安装、哨兵、集群
  5. bzoj3262陌上花开 (CDQ,BIT)
  6. JAR文件
  7. Oracle中常用的to_char用法详解
  8. 【Docker】(10)---详细说说 Dockerfile文件
  9. NX开发库版本问题
  10. 【UE4 调试】C++ 几种编译方法和小技巧