C++ fstream中getline()函数的问题
两种情况下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()函数不一样?