C++文件操作

基本的流操作也不介绍了,简单地回顾一下自己在文件操作中遇到问题时,又新学到的一些东西,哈哈,刚刚开始入门啦~

之前对其中几个函数的理解不是很透彻,所以主要介绍一下这几个函数吧!

(1)seek()和tell()

根据输入流和输出流又分别分为seekp()、seekg()和tellp()、tellg()。原因就是有的流既可以输入又可以输出,所以需要记住一个读位置和一个写位置。

seek()允许在输入或输出流中移动到任意的位置,有两种重载:1.一个参数,表示绝对位置;2.两个参数:第一个表示偏移量,类型为ios_base::streamoff;第二个表示一个位置,类型为ios_base::streampos;设置流的读写位置为相对于给定位置偏移后的位置。

tell()查询流的当前位置。

(2)read()和write()

原型如下:

1 read(unsigned char *buffer,int num);
2 write(const unsigned char *buf,int num);

read()从文件中读取 num 个字符到 buffer 指向的缓存中;而 write() 从buffer 指向的缓存写 num 个字符到文件中。

如果在读文件时,还未读入 num 个字符时就到了文件尾,可以用成员函数 int gcount()来取得实际读取的字符数。

 

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。