Diferencia entre tellg y tellp en C++

En este artículo, discutiremos la funcionalidad de basic_istream<>::tellg y basic_ostream<>::tellp y la diferencia entre ellos.

tellg() : la función se define en la clase istream y se usa con flujos de entrada . Devuelve la posición del carácter actual en el flujo de entrada.

Sintaxis:

pos_type tellg(); 

Tipo de retorno: si el puntero apunta a una posición válida, esta función devuelve la posición actual del puntero de obtención . De lo contrario, devuelve “-1” .

Programa 1:

A continuación se muestra el programa C++ para ilustrar el uso de tellg():

C++

// C++ program to illustrate the
// use of tellg()
#include <fstream>
#include <iostream>
using namespace std;
  
// Driver Code
int main()
{
    ifstream fin;
    char ch;
  
    // Opens the existing file
    fin.open("gfg.text");
  
    int pos;
    pos = fin.tellg();
    cout << pos;
  
    fin >> ch;
    pos = fin.tellg();
    cout << pos;
  
    fin >> ch;
    pos = fin.tellg();
    cout << pos;
  
    return 0;
}

Fichero de entrada:

 gfg.text
 
 hello students

Producción:

tellp() : la función se define en la clase ostream y se usa con flujos de salida . Devuelve la posición del carácter actual en el flujo de salida donde se puede colocar el carácter.

Sintaxis:

pos_type tellp();

Tipo de retorno: si el puntero apunta a una posición válida, esta función devuelve la posición actual del puntero de obtención . De lo contrario, devuelve “-1” .

Programa 2:

A continuación se muestra el programa C++ que ilustra el uso de tellp():

C++

// C++ program illustrating the
// use of tellp()
#include <fstream>
#include <iostream>
using namespace std;
  
// Driver Code
int main()
{
    ofstream fout;
    char ch;
  
    // Opening the already existing file
    fout.open("gfg.text", ios::app);
    int pos;
    pos = fout.tellp();
    cout << pos;
  
    fout << "print it";
    pos = fin.tellp();
    cout << pos;
    fout.close();
  
    return 0;
}

Fichero de entrada:

gfg.text

hello students
print it 

Producción:

Diferencia tabular entre tellp() y tellg() :

decir() contar()
Esta función se usa con flujos de salida y devuelve la posición actual de «colocación» del puntero en el flujo. La función se usa con flujos de entrada y devuelve la posición actual de «obtención» del puntero en el flujo.
Sintaxis: pos_type tellp(); Sintaxis: pos_type tellg();
Devuelve la posición del carácter actual en el flujo de salida. Devuelve la posición del carácter actual en el flujo de entrada.
tellp() da la posición del puntero de colocación. tellg() da la posición del puntero de obtención.

Publicación traducida automáticamente

Artículo escrito por kapilkumar2001 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *