1. 首页
  2. 编程语言
  3. C++ 
  4. 第二版

第二版

上传者: 2024-07-23 23:20:48上传 PDF文件 14.32MB 热度 13次

在输入输出流的操作中,定位“下一个”字符的来源或去向是至关重要的。无论是输入流还是输出流,有时候我们需要移动流的位置,这时可以采用两种方式来处理:第一种方式是流定位(streamp os),第二种方式则是类似于C标准库函数fseek()的相对定位。

流定位(streamp os)方法需要先调用“tell”函数:对于输出流使用tellp()函数,而对于输入流则使用tellg()函数。(“p”代表“放指针”,“g”代表“取指针”)。当我们需要返回到流中的某个特定位置时,这些函数会返回一个streamp os对象,这个对象可以在seekp()或seekg()函数的单参数版本中使用。

另一种方法是相对查找,利用seekp()和seekg()的重载版本。第一个参数是要移动的字节数,可以为正数或负数。第二个参数是查找方向,有三种选择:Ios::beg从流的开始位置、Ios::cur从流的当前位置、Ios::end从流的末尾位置。

想象一下我们在文件中移动位置的情景,不仅限于在文件里查找,就像在C和C++中的STDIO.H一样。在C++中,我们可以在任何类型的流中查找,虽然在cin和cout中的查找方式未被定义。

如果你对C++中的输入输出流有更多兴趣,可以参考以下资源以获取更多详情:

用户评论