C++ fstream中getline()函数的问题

mrying 2009-12-14 06:44:29
两种情况下getline的用法不一样,奇怪。。。。。。

情况一:
void one(ifstream& input)
{
while(!input.eof())
{
char temp[24];
char a[12];
char b[12];
input.getline(temp,24);

cout<<temp<<endl;
}
}
这里getline里面传的是char数组,而且是对象调用 input.getline(char[],int length);
情况二:
#include <iostream>
#include <fstream>
#include <string>
using namespace std;

int main()
{

// ifstream input("files/from.txt");
ifstream input;
input.open("files/from.txt");
ofstream output("files/to.txt",ios::app);

if(input && output)
{
string line;
for(int i=1;getline(input,line);i++)//
{
output<<i<<": "<<line<<endl;
}
}
else
cout<<"error openning files."<<endl;

return 0;
}
这里的getline是直接调用的,没有通过对象,估计是静态函数,从属于类的,传的参数也是不一样的传的是getline(ifstream& input,string s)这里只能传string,不能将s改为字符数组或者字符指针,为什么?难道两个getline()函数不一样?
...全文
1025 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
hoomien 2009-12-15
  • 打赏
  • 举报
回复
学习了。
mrying 2009-12-14
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 hpsmouse 的回复:]
一个是全局函数,用于 std::string;一个是 std::istream 的成员函数,用于 C 风格字符串。
不就是两个函数而已,只不过名字一样罢了,连重载都算不上……
[/Quote]哦 懂了
2009-12-14
  • 打赏
  • 举报
回复
一个是全局函数,用于 std::string;一个是 std::istream 的成员函数,用于 C 风格字符串。
不就是两个函数而已,只不过名字一样罢了,连重载都算不上……
mrying 2009-12-14
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 hqin6 的回复:]
C/C++ code
istream& getline ( istream&is,string& str,char delim );
istream& getline ( istream&is,string& str );-------------------------------------------
istream::getlinepublic member function

istr?-
[/Quote]?
太乙 2009-12-14
  • 打赏
  • 举报
回复

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


-------------------------------------------
istream::getline public member function

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

64,654

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧