初探C++

前言:记录一些在研究代码中看不懂的地方,以前没有接触过c++,记录的都是最基本的东西。

1.ofstream和ifstream
ofstream是从内存到硬盘,写文件,ifstream是从硬盘到内存,读文件

2.插入器和析取器
stream这个类有两个重要的运算符:

插入器(<<)
向流输出数据。
比如cout指的是向显示器输出数据
fout指的是向文件输出数据

析取器(>>)
从流中输入数据。
比如cin指的是从键盘获取数据

3.seekg()和seekp()
C++的文件定位分为读位置和写位置的定位,对应的成员函数是seekg()和seekp()。seekg()是设置读位置, seekp是设置写位置。它们最通用的形式如下:

istream &seekg(streamoff offset,seek_dir origin);
ostream &seekp(streamoff offset,seek_dir origin);

 
streamoff定义于 iostream.h 中,定义有偏移量 offset 所能取得的最大值,seek_dir 表示移动的基准位置,是一个有以下值的枚举:

  ios::beg:  文件开头
  ios::cur:  文件当前位置
  ios::end:  文件结尾

这两个函数一般用于二进制文件,因为文本文件会因为系统对字符的解释而可能与预想的值不同。例:

file1.seekg(1234,ios::cur); //把文件的读指针从当前位置向后移1234个字节
file2.seekp(1234,ios::beg); //把文件的写指针从文件开头向后移1234个字节
file.seekg(0, std::ios::end);//指向文件结尾
size_t len = file.tellg();//配合上一行求出文件大小为多少字节
file.seekg(0);//指针移动到文件的最前面

4.istringstream buffer(input)
用于将input中的内容按照空格键分割,并保存到buffer中

5.istream_iterator
流对象细分为输入流对象(istream)和输出流对象(ostream),C++ STL 标准库中对应的提供了 2 类流迭代器:
将绑定到输入流对象的迭代器称为输入流迭代器(istream_iterator),其可以用来读取输入流中的数据;
将绑定到输出流对象的迭代器称为输出流迭代器(ostream_iterator),其用来将数据写入到输出流中。

posted @   qiao101  阅读(22)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
点击右上角即可分享
微信分享提示