C++ STL getline()函数
getline()
C++11 <string>
函数原型
//(1)
istream& getline (istream& is, string& str, char delim);
istream& getline (istream&& is, string& str, char delim);
//(2)
istream& getline (istream& is, string& str);
istream& getline (istream&& is, string& str);
作用:从输入流中获取一行到字符串
从is中提取字符并将其存储到str中,直到找到定界字符delim((2)中的默认定界符为'\n')为止。
如果到达文件末尾或在输入操作期间发生其他错误,提取也会停止。
如果找到定界符,则将其提取并丢弃(即,不存储定界符,并且在其后将开始下一个输入操作)。
参数
is
istream 从中提取字符的istream对象。
str
存储行的string对象。
丢弃string对象原先的内容,替换为新提取的行。
返回值
正常情况下返回值与参数相同istream&。
对此函数的调用发生错误时可以设置为以下内部状态标志
| 状态标志 | 发生的错误 |
|---|---|
eofbit |
在其操作过程中到达了字符源的末尾 |
failbit |
无法将获得的输入解释为此类型对象的有效文本表示形式。 在这种情况下,distr会保留调用之前拥有的参数和内部数据。 请注意,某些eofbit情况也会设置故障位。 |
badbit |
发生上述以外的错误。 |
举例
// 提取到 string
#include <iostream>
#include <string>
int main ()
{
std::string name;
std::cout << "Please, enter your full name: ";
std::getline ( std::cin, name );
std::cout << "Hello, " << name << "!\n";
return 0;
}

C++ STL getline()函数的更多相关文章
- getline函数彻底说明
因为之前每次使用这个函数都要在网上查一遍,觉得很麻烦,这次就认真地整理一下,希望写完之后就记住. getline函数其实有两个: 一个是全局函数,include<cstring>, 原型是 ...
- getline()函数
这是一篇关于getline()函数的博客,以总结对输入输出流的掌握,不再在这些问题上栽跟头~ -------------------------- 1.首先我们知道,getline()函数的基本作用, ...
- C/C++中的getline函数总结:
来自:http://www.cnblogs.com/xFreedom/archive/2011/05/16/2048037.html C/C++中的getline函数总结 getline函数是一个比较 ...
- C++: getline函数
转自http://blog.sina.com.cn/s/blog_60263c1c0101ck25.html 学习C++的同学可能都会遇到一个getline()函数,譬如在C++premer中,标准s ...
- C++学习46 getline()函数读入一行字符 一些与输入有关的istream类成员函数
getline函数的作用是从输入流中读取一行字符,其用法与带3个参数的get函数类似.即 cin.getline(字符数组(或字符指针), 字符个数n, 终止标志字符) [例13.7] 用get ...
- c程序设计语言_习题1-16_自己编写getline()函数,接收整行字符串,并完整输出
Revise the main routine of the longest-line program so it will correctly print the length of arbitra ...
- Linux下的getline函数
最近在做国嵌的mp3项目,在mp3主控程序中用到了这个函数,挺好使的,在这里记录一下.注意是linux下的,不是C++中的. 函数原型 ssize_t getline(char **lineptr, ...
- C++中getline函数的使用
代码: #include <iostream> #include <cstdio> using namespace std; int main(){ char* s; s = ...
- getline函数
在我的印象中,getline函数常常出如今自己的视野里,模糊地记得它常常常使用来读取字符串 .可是又对它的參数不是非常了解,今天又用到了getline函数,如今来细细地总结一下: 首先要明确设计get ...
随机推荐
- mysql中FILE权限
FILE权限指的是对服务器主机上文件的访问,数据库用户拥有FILE权限才可以执行select into outfile,load data infile操作. 参考文章:http://blog.itp ...
- strin 字符串的内置函数
count("x")统计字符串的元素的个数 a = "hello kitty" print (a.count("t"))#统计t出现的个数 ...
- Python 中更优雅的日志记录方案
在 Python 中,一般情况下我们可能直接用自带的 logging 模块来记录日志,包括我之前的时候也是一样.在使用时我们需要配置一些 Handler.Formatter 来进行一些处理,比如把日志 ...
- Raft算法系列教程2:状态机复制 (State Machine Replication)
分区容错如何保证? 在分布式系统设计中,需要遵循CAP理论,如果我们要让一个服务具有容错能力,那么最常用最直接的办法就是让一个服务的多个副本同时运行在不同的节点上.但是,当一个服务的多个副本都在运行的 ...
- 面向切面@Aspect
package com.imooc.demo.filter; import org.springframework.core.Ordered; import org.springframework.c ...
- java 合并两个list 并去重
//两个list合并并去除重复 public static void main(String[] args) throws Exception { List list1 =new ArrayList( ...
- [leetcode]24. Swap Nodes in Pairs交换链表的节点
感觉这个题后台的运行程序有问题,一开始自己想的是反转链表那道题的方法,只是隔一个节点执行一次,但是没有通过,TLE了,但是很奇怪,并没有死循环,就是最后返回的时候超时. 最后的思路就是很简单的进行交换 ...
- 前端面试题归类-css
一.说下盒模型? 有两种盒模型,W3C盒模型和IE盒模型通常说的"IE盒子模型"指的是IE5.5,IE6及其以后,盒模型都为 content-box当浏览器未设置<!doct ...
- 第十章节 BJROBOT PID 动态调节【ROS全开源阿克曼转向智能网联无人驾驶车】
1.把小车架空,平放在地板上,注意四个轮子一定要悬空.用资料里的虚拟机,打开一个终端 ssh 过去主控端启动 roslaunch znjrobot bringup.launch. 2.在虚拟机端再 ...
- 微信小程序 更新版本操作
1.小程序的启动方式: 冷启动----小程序首次打开或销毁后再次被打开 热启动----小程序打开后,在一段时间内(目前:5分钟)再次被打开,此时会将后台的小程序切换到前台. 2.根据以上两种启动方式, ...