码迷,mamicode.com
首页 > 编程语言 > 详细

C++ 全局函数std::getline

时间:2018-04-13 17:52:12      阅读:210      评论:0      收藏:0      [点我收藏+]

标签:line   存在   没有   输入流   false   etl   标准   bsp   str   

经常会用到getline来读取文件,但是发现对于c和c++的getline之前没有一个很深入的认识,这里借鉴网上的一些资料总结一下。

 

1、在标准C语言中,getline函数是不存在的。在gcc编译器中,对标准c库进行了扩展,加入了一个getline函数。

 

2、标准C语言中虽然没有getline函数,但是有一个同样功能的fgets函数。fgets函数是c风格的按行读取的函数,读取时是读入换行符的,使用起来也还方便。c代码中建议使用此函数读取行。

 

3、c++标准库中全局函数getline。

 

c++标准库中有getline函数功能说明

从输入流读入一行到string s

 

?功能:
–从输入流中读入字符,存到string变量
–直到出现以下情况为止:
?读入了文件结束标志
?读到一个新行
–如果getline没有读入字符,将返回false,可用于判断文件是否结束
 
4、C++中读取一行的getline函数是不读入换行符的,而C语言中GCC编译器扩展的getline函数和fgets都是是读入换行符的。
 

总结:

按行读取文件就用c++全局函数std::getline吧,简单方便。

 

C++ 全局函数std::getline

标签:line   存在   没有   输入流   false   etl   标准   bsp   str   

原文地址:https://www.cnblogs.com/unbeatable/p/8821585.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!