当前位置 : 首页 » 文章分类 :  开发  »  C++按行读写文件(getline函数的用法)

C++按行读写文件(getline函数的用法)

C++中有两个getline()函数
(1)一个是全局函数,在string类中定义(#include<string>),但并不是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
  }
}

上一篇 C++动态创建二维数组

阅读
235
阅读预计1分钟
创建日期 2010-04-25
修改日期 2017-07-25
类别
标签
百度推荐