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 <iostream>
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 <iostream>
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 <iostream>
#include <string>
using namespace std;int main()
{string name;cout << "Please input your name: ";getline(cin, name);cout << "Welcome to here!" << name << endl;return 0;}
#include <iostream>
#include <string>
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()的用法相关推荐

  1. C++中getline函数用法

    C++中getline函数用法 getline用于读取一整行字符,遇到回车符即返回: #include<iostream> #include<string> using nam ...

  2. c语言getline作用,C++中getline()的用法详解

    getline()用法 getline是C++标准库函数:它有两种形式,一种是头文件< istream >中输入流成员函数:一种在头文件< string >中普通函数: 它遇到 ...

  3. 转载://C++中getline()、gets()等函数的用法

    在学习C++的过程中,经常会遇到输入输出的问题,以下总结一下下面几个函数的用法: 1).cin 2).cin.get() 3).cin.getline() 4).getline() 5).gets() ...

  4. C++中getline()、gets()等函数的用法

    在学习C++的过程中,经常会遇到输入输出的问题,以下总结一下下面几个函数的用法: 1).cin 2).cin.get() 3).cin.getline() 4).getline() 5).gets() ...

  5. C++ 中的getline()函数用法详解

    遇到了要输入一行字符串的操作,我想除了fgets()的方法(fgets()用法链接),getline()也是可以的,但是我对getline的操作不熟悉,便查阅了很多资料,发现都说的很模糊,借这个机会我 ...

  6. linux getline函数用法,Linux文本处理三剑客之awk学习笔记05:getline用法详解

    getline用法详解 在默认情况下,awk支持从文件或者STDIN中读取数据.我们也可以使用getline来灵活读取数据,例如在main代码块执行过程中读取某个非待处理文件的数据,或者从某个读取某个 ...

  7. getline()的用法详解

    用于输入一个带有空格的字符串或字符数组. 一.getline()的原型: istream& getline ( istream &is , string &str , char ...

  8. C++中的string用法

    (本人只是小新,写博客就是想记录学习,同时让一些大佬看到我的学习记录可以指出我的错误) 目录 (1)对于string的个人理解 (2)字符串的输入 (3)字符串的基本操作 (4)字符串的输出 对于C+ ...

  9. c++中stringstream常见用法

    c++中stringstream常见用法 stringstream使用时,要包含头文件#include<sstream>,sstream这个库的又是在于存入类型的数据可以直接进行转换,不用 ...

最新文章

  1. Visual Studio 2019没有Setup安装项目(Microsoft Visual Studio Installer Projects)的官方解决方案
  2. 9月——都已经9月了还不好好刷题?。。
  3. 牛客OI周赛10-提高组:B-Taeyeon的困惑(值域线段树)
  4. python中xpath用法_Python中的xpath基础使用
  5. Linux内核态抢占机制分析
  6. 【Elasticsearch】Elasticsearch 集群 运维 高性能 架构设计 高负载
  7. Mysql的my.cnf配置文件详情
  8. linux 下的挂载
  9. 第五章 MNIST数字识别问题(二)
  10. kickstart_2018_round_H_C Let Me Count The Ways
  11. android flag,Android 屏幕锁 - FLAG_KEEP_SCREEN_ON
  12. abb机器人编程指令写字_ABB机器人-编程基本指令之运动指令
  13. beetl html模板,Beetl模板引擎之自定义html标签
  14. 计算机键入命令,Win7系统安装软件提示命令行语法错误键入“ 命令/?”怎么办...
  15. net以execl做数据库_基于C#.NET实现Excel数据导入数据库技术
  16. 当你输入信用卡号码的时候,有没有担心输错了而造成损失呢?其实可以不必这么担心, 因为并不是一个随便的信用卡号码都是合法的,它必须通过Luhn算法来验证通过。
  17. RAID5和RAID10在磁盘读写选择对比
  18. python-docx+pandas实现word邀请函批量生成
  19. usb disconnect
  20. 押注汽车操作系统,手机厂商就能借无人驾驶弯道超车?

热门文章

  1. Pycharm+Django搭建第一个Python Web程序
  2. c++ clr编译dll在c#调用时出现“试图加载不正确的格式”“找不到dll”错误的解决...
  3. spring实例教程
  4. JavaScript——基本的瀑布流布局及ajax动态新增数据
  5. Linux系统工程师的必备素质
  6. android中mvp封装,android-简单快速封装MVP+Retrofit2.0+Rxjava框架
  7. 如何定义经济的网络(后期可以随意剪枝)
  8. 模型压缩的开源项目工具
  9. Linux + Nginx + Uwsgi + Django 搭建单服务器
  10. Docker 和 Kubernetes 从听过到略懂:给程序员的旋风教程