Что означает g в gcountstd::iostreamgcount, tellg и seekg? И p в pcount, tellp и seekp?
Почему они не называются просто count, tell и seek?
Ответ 1
В потоках, поддерживающих чтение и запись, у вас на самом деле есть две позиции: одна для чтения (т.е. "get" обозначается буквой "g"), а другая для записи (т.е. "put" обозначается "p").
И поэтому у вас есть seekp (унаследованный от basic_ostream) и seekg (унаследованный от basic_istream).
Замечание: язык C имеет - в отличие от C++ - только одна такая функция fseek для обоих указателей; Там необходимо переставить указатель при переключении с чтения на запись и наоборот (см., Например, этот ответ). Чтобы избежать этого, C++ предлагает отдельные функции для чтения и записи, соответственно.
Ответ 2
C++ предлагает два указателя при навигации по файлу: указатель get и указатель put. Первый используется для операций чтения, второй для операций записи.
seekg() используется для перемещения указателя г ET в нужное место относительно опорной точки.
tellg() используется, чтобы знать, где указатель g et находится в файле.
seekp() используется для перемещения указателя р ут в нужном месте относительно опорной точки.
tellp() используется, чтобы знать, где указатель p ut находится в файле.
Основной источник: Quora, ответ Gunjan B. Yadav 1 декабря 2017 года.