下面先看下C++ cin.getline用法,具体内容如下所示:

使用 C++ 字符数组与使用 string 对象还有另一种不同的方式,就是在处理它们时必须使用不同的函数集。例如,要读取一行输入,必须使用 cin.getline 而不是 getline 函数。这两个的名字看起来很像,但它们是两个不同的函数,不可互换。

与 getline 一样,cin.getline 允许读取包含空格的字符串。它将继续读取,直到它读取至最大指定的字符数,或直到按下了回车键。以下是其用法示例:

cin.getline(sentence, 20);

getline 函数使用两个用逗号分隔的参数。第一个参数是要存储字符串的数组的名称。第二个参数是数组的大小。当 cin.getline 语句执行时,cin 读取的字符数将比该数字少一个,为 null 终止符留出空间。这样就不需要使用 setw 操作符或 width 函数。以上语句最多可读取 19 个字符,null 终止符将自动放在数组最后一个字符的后面。

下面的程序演示了 getline 函数的用法,它最多可以读取 80 个字符:

// This program demonstrates cinT s getline function

// to read a line of text into a C-string.

#include 、

using namespace std;

int main()

{

const int SIZE = 81;

char sentence[SIZE];

cout << "Enter a sentence: ";

cin.getline (sentence, SIZE);

cout << "You entered " << sentence << endl;

return 0;

}

程序输出结果:

Enter a sentence: To be, or not to be, that is the question.

You entered To be, or not to be, that is the question.

补充:C++ getline()的两种用法

getline():用于读入一整行的数据。在C++中,有两种getline函数。第一种定义在头文件中,是istream类的成员函数;第二种定义在头文件中,是普通函数。

第一种: 在中的getline()函数有两种重载形式:

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

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

作用是: 从istream中读取至多n个字符(包含结束标记符)保存在s对应的数组中。即使还没读够n个字符,如果遇到delim标识符或字数达到限制,则读取终止。delim标识符会被读取,但是不会被保存进s对应的数组中。注意,delim标识符在指定最大字符数n的时候才有效。

#include

using namespace std;

int main()

{

char name[256], wolds[256];

cout<

cin.getline(name,256);

cout<

cout<

cin.getline(wolds,256,',');

cout<

cin.getline(wolds,256,',');

cout<

return 0;

}

输入

Kevin

Hi,Kevin,morning

输出

Kevin

Hi

Kevin

第二种: 在中的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);

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

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

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

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

#include

#include

using namespace std;

int main(){

string str;

getline(cin, str, 'A');

cout<

getline(cin, str, 'B');

cout<

return 0;}

输入

i_am_A_student_from_Beijing

输出

The string we have gotten is :i_am_.

The string we have gotten is :_student_from_.

总结

以上所述是小编给大家介绍的C++ cin.getline及getline()用法详解,希望对大家有所帮助,也非常感谢大家对脚本之家网站的支持!

c语言getline作用,C++ cin.getline及getline()用法详解相关推荐

  1. sort在c语言中的作用,c语言中sort的用法详解.docx

    c语言中sort的用法详解.docx C语言中SORT的用法详解C语言的学习很多是比较复杂的,那么C语言中SORT的用法的用法你知道吗下面学习啦小编就跟你们详细介绍下C语言中SORT的用法的用法,希望 ...

  2. python中values作用_Python values()与itervalues()的用法详解

    dict 对象有一个 values() 方法,这个方法把dict转换成一个包含所有value的list,这样,我们迭代的就是 dict的每一个 value: d = { 'Adam': 95, 'Li ...

  3. c语言extern的作用6,C语言中extern用法详解

    本文基于VC6.0 编译器 首先文档结构如下: myextern.h和myextern.c中定义extern函数 main.c中定义main方法,调用extern函数 1.第一个尝试: myexter ...

  4. c语言逻辑与的作用,C++ 、||、!逻辑运算符用法详解

    逻辑运算符可以将两个或多个关系表达式连接成一个或使表达式的逻辑反转.本节将介绍如何使用逻辑运算符将两个或多个关系表达式组合成一个.表 1 列出了 C++ 的逻辑运算符. 表 1 逻辑运算符 运算符 含 ...

  5. C语言 rand函数,srand函数 生成随机数用法详解

    与随机数有关的两个函数,srand() 和 rand(),这两个函数都包含"stdlib.h"头文件里 srand()函数是随机数发生器,使得每轮产生的随机数列都不相同.      ...

  6. x3用c语言函数表示,C语言中strtod()函数的用法详解

    函数原型: #include double strtod(const char *nptr, char **endptr); C语言及C++中的重要函数. 名称含义 strtod(将字符串转换成浮点数 ...

  7. emit python 作用_PyQT5 emit 和 connect的用法详解

    对于PyQT4, PyQT5在一些使用上有着比较明显的变化有很大的变化,让人惊讶是在emit和connect上的一些变化比较有意思,相信也是QT为了更好的和Python相结合做的改进. 先上一张图: ...

  8. emit python 作用,PyQT5 emit 和 connect的用法详解

    对于PyQT4, PyQT5在一些使用上有着比较明显的变化有很大的变化,让人惊讶是在emit和connect上的一些变化比较有意思,相信也是QT为了更好的和Python相结合做的改进. 先上一张图: ...

  9. C语言getline函数CSDN,c++中的两种getline用法详解

    getline是C++标准库函数:但不是C标准库函数,而是POSIX(IEEE Std 1003.1-2008版本及以上)所定义的标准库函数(在POSIX IEEE Std 1003.1-2008标准 ...

最新文章

  1. mvvm模式和mvc的区别_mvvm 和 mvc 区别?
  2. 机器学习(MACHINE LEARNING)MATLAB动态规划解决背包问题
  3. python快速入门 pdf-十分钟快速入门python
  4. php flock 超时,php flock失效问题
  5. Http / Get 和 Post 区别
  6. LINQ-from多from
  7. kubeadmin 安装 k8s集群
  8. 每日一水:HDOJ 1408 盐水的故事
  9. 玩转控件:对Dev中GridControl控件的封装和扩展
  10. python数据处理随笔总结
  11. 出现身份验证错误,要求的函数不受支持,远程计算机:X.X.X.X,这可能是由于CredSSP加密Oracle修正
  12. 用免费WiFi上网软件有什么好处
  13. P2921 [USACO08DEC]在农场万圣节
  14. welearn平台答案 大学英语 视听说 综合教程
  15. mac ios 远程桌面连接到服务器配置,手把手教你苹果mac如何远程桌面连接
  16. torch.norm的理解
  17. 百度没有文化(转载)
  18. [USACO10HOL]牛的政治Cow Politics
  19. 如何在Excel中使用公式将生日自动转换成星座?
  20. 【英语】护肤品的英语

热门文章

  1. 解决 Cydia 源显示空白的问题
  2. 学二胡到底有没有用?感觉坚持不下去了该怎么办?
  3. mysql对xa的支持_Mysql对XA的支持
  4. 全面剖析Seata 分布式事务 AT 与XA
  5. java double 乘_java Double 进行加减乘除
  6. IE exp中的多线程操作
  7. loadrunner中浏览器缓存设置
  8. National Day meets Mid-autumn Festival
  9. Chapter3、色调映射
  10. 斯雪明教授:如何应对高发的区块链安全问题?