getline函数
1. 全局getline函数
在string类中定义(#include),但并不是string类的成员函数,原型如下:
istream& getline( istream& is, string& s, char delimiter = '\n' );
#include<iostream>
#include<fstream>
#include<string>
using namespace std;
void main()
{
ifstream fin;//输入流
fin.open("D:\\test.txt");//注意路径的写法,由于\是转义字符,所以路径中\\代表\
string str;//接收字符串
while(getline(fin,str))//一行一行读
{
cout<<str<<endl;
}
}
2. istream类的成员函数
istream& getline( char* buffer, streamsize num );
istream& getline( char* buffer, streamsize num, char delim );
#include<iostream>
#include<fstream>
using namespace std;
void main()
{
ifstream fin;//输入流
fin.open("D:\\test.txt");//注意路径的写法,由于\是转义字符,所以路径中\\代表\
char * buffer;//缓冲区
buffer=(char *)malloc(100*sizeof(char));//分配空间
while(!fin.eof())//一行一行读
{
fin.getline(buffer,n,delim);//读n-1个字符到buffer,直到碰到换行或EOF或delim
}
}