getline()用法

getline是C++标准库函数;它有两种形式,一种是头文件< istream >中输入流成员函数;一种在头文件< string >中普通函数;

它遇到以下情况发生会导致生成的本字符串结束:

(1)到文件结束,(2)遇到函数的定界符,(3)输入达到最大限度。

输入流成员函数getline()

函数语法结构:

在< istream >中的getline()函数有两种重载形式:

istream& getline (char* s, streamsize n );

istream& getline (char* s, streamsize n, char delim );

作用是: 从istream中读取至多n个字符(包含结束标记符)保存在s对应的数组中。即使还没读够n个字符,

如果遇到delim 或 字数达到限制,则读取终止,delim都不会被保存进s对应的数组中。

代码实例

#include

using namespace std;

int main()

{

char name[256];

cout << "Please input your name: ";

cin.getline(name, 256);

cout << "The result is: " << name << endl;

return 0;

}

#include

using namespace std;

int main( )

{

char line[100];

cout << " Type a line terminated by 't'" << endl;

cin.getline( line, 100, 't' );

cout << line << endl;

return 0;

}

普通函数getline()

函数语法结构:

在< string >中的getline函数有四种重载形式:

istream& getline (istream& is, string& str, char delim);

istream& getline (istream&& is, string& str, char delim);

istream& getline (istream& is, string& str);

istream& getline (istream&& is, string& str);

函数的变量:

is :表示一个输入流,例如 cin。

str :string类型的引用,用来存储输入流中的流信息。

delim :char类型的变量,所设置的截断字符;在不自定义设置的情况下,遇到'\n',则终止输入

用法和上一种类似,但是读取的istream是作为参数is传进函数的。读取的字符串保存在string类型的str中。

代码实例

#include

#include

using namespace std;

int main()

{

string name;

cout << "Please input your name: ";

getline(cin, name);

cout << "Welcome to here!" << name << endl;

return 0;

}

#include

#include

using namespace std;

int main()

{

string name;

cout << "Please input your name: ";

getline(std::cin, name, '#');

cout << "Welcome to here!" << name << endl;

return 0;

}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

c语言getline作用,C++中getline()的用法详解相关推荐

  1. linux中tail命令的作用,Linux中tail命令用法详解

    tail命令也是一个非常常用的文件查看类的命令,今天就为大家介绍下Linux tail命令的用法. 更多Linux命令详情请看:Linux命令速查手册 Linux tail命令主要用来从指定点开始将文 ...

  2. c++ memset 语言_C++中memset函数用法详解

    本文实例讲述了C++中memset函数用法.分享给大家供大家参考,具体如下: 功 能: 将s所指向的某一块内存中的每个字节的内容全部设置为ch指定的ASCII值,块的大小由第三个参数指定,这个函数通常 ...

  3. JSP 中EL表达式用法详解

    EL 全名为Expression Language EL 语法很简单,它最大的特点就是使用上很方便.接下来介绍EL主要的语法结构: ${sessionScope.user.sex} 所有EL都是以${ ...

  4. java中throws用法_java中throws实例用法详解

    在程序出现异常时,会有一个抛出异常的throw出现,这里我们要跟今天所讲的throws区分开.throws的作用是声明抛出,在名称上也跟throw有所不同.下面我们就throws对策概念.语法.实例带 ...

  5. access中的Format用法详解

    access中的Format用法详解 Format$(Now,"EEOA") 只要这么一句~~~~~就可以得到" 二○○六年五月二十六日" ---------- ...

  6. php中socket的使用,php中socket的用法详解,phpsocket详解_PHP教程

    php中socket的用法详解,phpsocket详解 本文实例详细讲述了php中socket的用法,分享给大家供大家参考.具体用法如下: 一.开启socket phpinfo();查看是否开启了so ...

  7. python中permute_PyTorch中permute的用法详解

    PyTorch中permute的用法详解 permute(dims) 将tensor的维度换位. 参数:参数是一系列的整数,代表原来张量的维度.比如三维就有0,1,2这些dimension. 例: i ...

  8. C++中substr()函数用法详解

    C++中substr()函数用法详解 原型: string substr (size_t pos = 0, size_t len = npos) const; 返回一个新构造的string对象,其值初 ...

  9. c++中vector的用法详解

    c++中vector的用法详解 vector(向量): C++中的一种数据结构,确切的说是一个类.它相当于一个动态的数组,当程序员无法知道自己需要的数组的规模多大时,用其来解决问题可以达到最大节约空间 ...

  10. C#中NameValueCollection类用法详解

    C#中NameValueCollection类用法详解,1.NameValueCollection类集合是基于 NameObjectCollectionBase 类. 但与 NameObjectCol ...

最新文章

  1. 7、在对象内部尽量直接访问实例变量
  2. java python算法_用Python,Java和C ++示例解释的排序算法
  3. BZOJ 2134 单选错位(数学期望)【BZOJ 修复工程】
  4. 机器学习基础专题:高斯混合模型和最大期望EM算法以及代码实现
  5. Anaconda:Anaconda安装pytorch网络连接失败记录
  6. jq第一天(1.83里面的属性)属性-》属性
  7. 6个信号提醒是时候跳槽了 CIO务必get到
  8. 数字后端——低功耗单元库
  9. Builder模式和Spring框架
  10. html type=text/css,type=text/css 有什么用啊 ?
  11. vs2015打开EXCEL文档范例及其注意事项!!!
  12. POJ 2635 The Embarrassed Cryptographer(JAVA)
  13. vs2005中文RTM版的代码段管理器
  14. LINUX安装依赖库冲突的最终版本:下列软件包有未满足的依赖关系/但是它将不会被安装/无法修正错误,因为您要求某些软件包保持现状,就是它们破坏了软件包间的依赖关系
  15. c语言图形库 ege easyx,初识ege图形库
  16. 信号的频谱分析,加噪降噪处理
  17. java简单的新闻分词,文本分析
  18. windows无法格式化u盘_U 盘格式化提示 windows 无法完成格式化的解决办法
  19. deepin恢复出厂_初始化 - deepin Wiki
  20. 票啦啦--手机购电影票

热门文章

  1. 敏捷测试和瀑布测试的关联
  2. 【UE4 第一人称射击游戏】41-让“M4A1”拥有独立的弹药系统
  3. 我的CSDN直播首秀来了:技术分享成就精彩程序人生(直播间还送福利哦)
  4. 如何快速搭建爬虫管理平台
  5. Oracle教程 连接之等值连接
  6. 分布式系统一致性问题处理思路
  7. 由《人月神话》和《功夫》所想到的
  8. idea的Open Recent
  9. ACM暑假总结7.17
  10. ZBar简介及安装配置流程 | 2021SC@SDUSC