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()来取得实际读取的字符数。