C++中getline()的用法详解

 更新时间:2020年02月13日 11:03:05   作者:学无止境~zZ  
这篇文章主要介绍了C++中getline()的用法详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

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;
}

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

相关文章

  • Qt实现小功能之复杂抽屉效果详解

    Qt实现小功能之复杂抽屉效果详解

    在Qt自带的控件中,也存在抽屉控件:QToolBar。但是,该控件有个缺点:一次只能展开一个抽屉信息,无法实现多个展开。所以本文将自定义实现复杂抽屉效果,需要的可以参考一下
    2022-10-10
  • matlab遗传算法求解车间调度问题分析及实现源码

    matlab遗传算法求解车间调度问题分析及实现源码

    这篇文章主要为大家介绍了matlab遗传算法求解车间调度问题解析,文中附含详细实现源码,有需要的朋友可以借鉴参考下,希望能够有所帮助
    2022-02-02
  • C语言中一些将字符串转换为数字的函数小结

    C语言中一些将字符串转换为数字的函数小结

    这篇文章主要介绍了C语言中一些将字符串转换为数字的函数小结,分别为atoi()函数和atol()函数以及atof()函数,需要的朋友可以参考下
    2015-08-08
  • C++中 STL list详解及简单实例

    C++中 STL list详解及简单实例

    这篇文章主要介绍了C++中 STL list详解及简单实例的相关资料,需要的朋友可以参考下
    2017-04-04
  • C++中什么是虚函数

    C++中什么是虚函数

    虚函数是C++中的一种机制,允许在基类中声明一个函数,并在派生类中对其进行重新定义,从而实现多态性,虚函数通过基类指针或引用调用派生类的函数,实现运行时绑定,虚函数的关键是使用`virtual`关键字修饰函数声明,并且虚函数可以有默认实现,也可以是纯虚函数
    2025-01-01
  • C语言中带返回值的宏定义方式

    C语言中带返回值的宏定义方式

    这篇文章主要介绍了C语言中带返回值的宏定义方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-02-02
  • C语言实现贪吃蛇游戏代码

    C语言实现贪吃蛇游戏代码

    大家好,本篇文章主要讲的是C语言实现贪吃蛇游戏代码,感兴趣的同学赶快来看一看吧,对你有帮助的话记得收藏一下
    2022-02-02
  • 详解C语言编程中的函数指针以及函数回调

    详解C语言编程中的函数指针以及函数回调

    这篇文章主要介绍了C语言编程中的函数指针以及函数回调,函数回调实际上就是让函数指针作函数参数、调用时传入函数地址,需要的朋友可以参考下
    2016-04-04
  • C语言操作符进阶教程(表达式求值隐式类型转换方法)

    C语言操作符进阶教程(表达式求值隐式类型转换方法)

    这篇文章主要为大家介绍了C语言操作符进阶教程(表达式求值隐式类型转换方法)
    2022-02-02
  • 详解用C语言实现三子棋游戏流程

    详解用C语言实现三子棋游戏流程

    三子棋是一种民间传统游戏,又叫九宫棋、圈圈叉叉、一条龙、井字棋等。将正方形对角线连起来,相对两边依次摆上三个双方棋子,只要将自己的三个棋子走成一条线,对方就算输了
    2021-11-11

最新评论