it-swarm-pt.tech

O que é que representa, consulta e procura?

O que o g significa em std::iostreamgcount, tellg e seekg membros? E o p em pcount, tellp e seekp?

Por que eles não são chamados apenas de count, tell e seek?

69
Andrew Tomazos

Em fluxos que suportam leitura e gravação, você tem duas posições, uma para leitura (por exemplo, "get" denotada por "g") e outra para gravação (ou seja, "put" denotada por "p").

E é por isso que você tem um seekp (herdado de basic_ostream) e um seekg (herdado de basic_istream).

Nota: A linguagem C tem - em contraste com C++ - apenas uma dessas funções fseek para ambos os ponteiros; É necessário reposicionar o ponteiro quando se muda de leitura para escrita e vice-versa (por exemplo, this answer). Para evitar isso, o C++ oferece funções separadas para leitura e gravação, respectivamente.

76
Stephan Lechner

O C++ oferece dois ponteiros enquanto navega pelo arquivo: o ponteiro get e o ponteiro put . O primeiro é usado para operações de leitura, o segundo para operações de gravação.

  • seekg() é usado para mover o ponteiro g et para um local desejado em relação a um ponto de referência.

  • tellg() é usado para saber onde o ponteiro g et está em um arquivo.

  • seekp() é usado para mover o ponteiro p ut para um local desejado em relação a um ponto de referência.

  • tellp() é usado para saber onde o ponteiro p ut está em um arquivo.

Fonte principal: Quora , responder por Gunjan B. Yadav em 1 de dez. De 2017.

47
Tu.ma