C++ 全局函数std::getline
经常会用到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吧,简单方便。

浙公网安备 33010602011771号