c++中对文本进行读取经常使用的方法总结

getline函数

  1. getline有四种重载形式:
	1. istream& getline (istream& is, string&str, char delime)
	2. istream& getline (istream&& is, string&str, char delime)
	3. istream& getline (istream& is, string&str)
	4. istream& getline (istream&& is, string&str)
  1. 参数解释:
    is:用于文本读取的istream对象。
    str:存储从istream中读取的文本的对象。str原有的内容将被丢弃,并替换为读取的文本内容。
    delime:限定符,读取到相应的字符将会停止读取。
    参考链接

ofstram 和 ifstream

  1. ofstream是从内存到硬盘,ifstream是从外部读到内存,C++中所有的I/O都以流类为基础。
  2. 对文件的操作是通过stream的子类fstream(file stream)来实现的,所以,要用这种方式操作文件,就必须加入头文件fstream
  3. void open(const char filename,int mode,int access);*
    参数:
      filename:  要打开的文件名
      mode:    要打开文件的方式
      access:   打开文件的属性
    另外,fstream还有和open()一样的构造函数,如:fstream file1(“c:\config.sys”);
    关闭文件: file1.close();
  4. 二进制文件的读写:
    put()函数向流写入一个字符,其原型是ofstream &put(char ch)
    get()函数比较灵活,有3种常用的重载形式:
ifstream &get(char &ch)
ifstream &get(char *buf,int num,char delim='\n')
  1. 读写数据块:
  read(unsigned char *buf,int num);
  write(const unsigned char *buf,int num);
  1. 文件定位:
      file1.seekg(1234,ios::cur); //把文件的读指针从当前位置向后移1234个字节
      file2.seekp(1234,ios::beg); //把文件的写指针从文件开头向后移1234个字节
  istream &seekg(streamoff offset,seek_dir origin);
  ostream &seekp(streamoff offset,seek_dir origin);

stringstream类

字符串简单的拼接,尽量使用+或者append。数字转字符串,尽量使用to_string或者snprintf,不要使用lexical_cast。而较为复杂的string format可以使用snprintf,或者fmt::format,不要使用stringstream。
参考链接
简单操作

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

强大的RGG

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值