c++ - gcount、tellg 和 seekg 中的 g 代表什么?

标签 c++ iostream

gstd::iostreamgcounttellg 中代表什么>寻求成员?而pcounttellpseekp中的p

为什么不把它们叫做counttellseek

最佳答案

在支持读写的流中,实际上有两个位置,一个用于读取(即“get”,用“g”表示),一个用于写入(即,“put”,用“p”表示)。

这就是为什么你有一个 seekp(继承自 basic_ostream)和一个 seekg(继承自 basic_istream)。

旁注:与 C++ 相比,C 语言只有一个这样的函数 fseek 用于两个指针;在从读切换到写时需要重新定位指针,反之亦然(例如,参见 this 答案)。为了避免这种情况,C++ 分别提供了单独的读取和写入函数。

关于c++ - gcount、tellg 和 seekg 中的 g 代表什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53608590/

相关文章:

c++ - 从另一个应用程序更改表单边框

c++ - 有没有内置的方法在 C++ 中拆分字符串?

c++ - 如何在编译时切换/选择类型?

c++ - 如何为一般情况编写流插入运算符? (也就是说,对于 `char` 和 `wchar_t` 流?)

python - 如何刷新 Python IO 流

C++ 文件 IO : Reading and Writing 16-bit Words

c++ - GCC、std::ctype 特化和流

c++ - C++使用原始指针创建循环依赖的对象

c++ - 在 C++ 中读取很长的控制台输入

c++ - 位操作的标准(跨平台)方式