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