C++getline函数需要包含什么头文件

如题所述

C++getline函数需要包含istream和string头文件

C++中有两个getline函数,一个是在string头文件中,定义的是一个全局的函数,函数声明是:istream& getline ( istream& is, string& str, char delim );

istream& getline ( istream& is, string& str );

另一个则是istream的成员函数,函数声明是:

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

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

注意第二个getline是将读取的字符串存储在char数组中而不可以将该参数声明为string类型,因为C++编译器无法执行此默认转换。

C++getline函数使用示例:

#include <iostream>

#include <string> 

using namespace std;

int main(){    、

    string name;    

    string city;

    cout << "Please enter your name: ";

   getline(cin, name);

   cout << "Enter the city you live in: ";

   getline(cin, city);

   cout << "Hello, " << name << endl;

   cout << "You live in " << city << endl;    

    return 0;

}

扩展资料:

getline函数的语法结构:

getline(<字符数组chs>,<读取字符的个数n>,<终止符>) 

在函数遇到和结束定界符相等的字符时函数结束,同时函数抽出定界符,此种情况下该定界符既不被放回输入流,也不被放入要生成的字符串。所以由此可以理解输入结束后的第一个回车是定界符,被确认后抛弃,而第二个才是程序执行运行时正常需要的。

温馨提示:内容为网友见解,仅供参考
第1个回答  推荐于2017-09-03
说的是std命名空间里的

template<class charT, class traits, class Allocator>
basic_istream<charT,traits>&
getline(basic_istream<charT,traits>& is,
basic_string<charT,traits,Allocator>& str,
charT delim);
template<class charT, class traits, class Allocator>
basic_istream<charT,traits>&
getline(basic_istream<charT,traits>&& is,
basic_string<charT,traits,Allocator>& str,
charT delim);
template<class charT, class traits, class Allocator>
basic_istream<charT,traits>&
getline(basic_istream<charT,traits>& is,
basic_string<charT,traits,Allocator>& str);
template<class charT, class traits, class Allocator>
basic_istream<charT,traits>&
getline(basic_istream<charT,traits>&& is,
basic_string<charT,traits,Allocator>& str);
这堆重载么。是函数模版,实例才是函数。

#include<string>就行了。
如果是要类模版basic_istream里的
basic_istream<charT,traits>& getline(char_type* s, streamsize n);
basic_istream<charT,traits>& getline(char_type* s, streamsize n,
char_type delim);
这两个成员函数,得#include<istream>。因为标准<iostream>规定包含<istream>,也可以#include<iostream>。

参考资料:ISO C++11

本回答被提问者和网友采纳
第2个回答  2015-09-16
#include<string>就行了。
如果是要类模版basic_istream里的
basic_istream<charT,traits>& getline(char_type* s, streamsize n);
basic_istream<charT,traits>& getline(char_type* s, streamsize n,
char_type delim);
这两个成员函数,得#include<istream>。因为标准<iostream>规定包含<istream>,也可以#include<iostream>。
第3个回答  2012-10-13
std::getline
不要什么头文件,全局的function
第4个回答  2012-10-13
#include <iostream>

C++getline函数需要包含什么头文件
C++getline函数需要包含istream和string头文件。C++中有两个getline函数,一个是在string头文件中,定义的是一个全局的函数,函数声明是:istream& getline ( istream& is, string& str, char delim );istream& getline ( istream& is, string& str );另一个则是istream的成员函数,函数声明是:...

C++中,getline函数的详解
C++中本质上有两种getline函数,一种在头文件中,是istream类的成员函数。一种在头文件<string>中,是普通函数。一、在中的getline函数有两种重载形式:istream& getline (char* s, streamsize n );istream& getline (char* s, streamsize n, char delim );作用是从istream中读取至多n个字符保存...

getline 读取一行内容(C++)
getline,用于读取一行内容。C++中,主要用途有以下两方面:1. 当字符串内包含空格时,如描述某种事物的详细信息。2. 一行内容是一个对象信息时,例如,一个学生信息以一行形式存储。实现getline功能时,记得包含头文件“iostream”。示例程序如下,其作用是读取一行内容,将整个一行字符串(可能含空格)赋值...

c++getline函数用法
在上面的用法示例中,包含了需要使用的头文件<iostream>和<string>。然后定义了一个名为line的字符串变量。接着使用std::cout输出提示信息,要求用户输入一行文字。然后调用std::getline(std::cin,line)函数,其中std::cin表示标准输入流,line表示要存储读取内容的字符串变量。最后,使用std::...

c++ getline() 详解
深入理解C++ getline()函数的奥秘 在C++编程中,getline()函数作为流处理的重要工具,其功能强大且灵活。它有两种主要的实现形式,分别定义在和头文件中,让我们逐一探索它们的细节和用法。首先,在头文件中的getline()函数有两重载形式,分别为:istream& getline(char* s, streamsize n); istream& ...

关于C++里的getline和cin.getline
第一个:include<iostream> include<string>\/\/增加的头文件 using namespace std;int main(){ char s[12];string str;memset(s,0,12);getline(cin,str);for(int i=0;i<static_cast<int>(str.length());i++)s[i]=str[i];cout<<s<<endl;return 0;} 第二个:include<iostream> usin...

C++中,getline函数的详解
在C++编程中,getline函数具有多种实现方式,主要分为两种:一种是作为类的成员函数,另一种则在头文件中作为普通函数。让我们分别探讨这两种形式。首先,中的getline函数有两种重载形式:1. istream& getline(char* s, streamsize n); 该函数从输入流中读取最多n个字符,并存储在指针s指向的数组中。

c++的getline()函数怎么使用?
若需读取多行数据,可连续调用 getline() 方法,适用于每行数据的读取。以 in.txt 文件内容 c.biancheng.net\/cplus\/ c.biancheng.net\/python\/ c.biancheng.net\/java\/ 为例,连续调用 getline() 方法后输出结果为 c.biancheng.net\/cplus\/ c.biancheng.net\/python\/ c.biancheng.net\/java\/。

C++如何自己写getline函数
\/\/getline原型,来自istream文件_Myt& __CLR_OR_THIS_CALL getline(_Elem *_Str,streamsize _Count, _Elem _Delim){\/\/ get up to _Count characters into NTCS, discard _Delim_DEBUG_POINTER(_Str);ios_base::iostate _State = ios_base::goodbit;_Chcount = 0;const sentry _Ok(*this...

C++新手题,关于geline(cin, n)
这是VC6.0的一个BUG,需要修改一下string头文件:1、在string头文件中查找到(我的是在第165行):else if (_Tr::eq((_E)_C, _D)){_Chg = true;_I.rdbuf()->snextc();2、将 _I.rdbuf()->snextc(); 这句修改为:_I.rdbuf()->sbumpc();3、完成。参考资料:http:\/\/blog.sin...

相似回答