tellp() in file handling with c++ with example

Last Updated : 12 Jul, 2021

The tellp() function is used with output streams, and returns the current "put" position of the pointer in the stream. It has no parameters and return a value of the member type pos_type, which is an integer data type representing the current position of the put stream pointer.
Syntax: 
 

pos_type tellp();


Return - Current output position indicator on success otherwise  return -1.
Example 1 - 
 

CPP
// cpp code to get the position at particular
// position using tellp() function
#include <iostream>
#include <fstream>
using namespace std;

int main()
{
    fstream file;

    // open file in read and write mode
    file.open("myfile.txt", ios::out);
    file << "geeksforgeeks";

    // print the position of the pointer in file
    cout << "the current position of pointer is :"
         << file.tellp() << endl;

    // close the open file
    file.close();
}

Output - 
 

the current position of pointer is :-1


In the above code the tellp() returns the current position to which it point in a file.
Example 2 - 
 

CPP
// code to add content at particular position 
// using tellp()
#include <fstream>
using namespace std;

int main()
{
    long position;
    fstream file;

    // open the file in read and write mode
    file.open("myfile.txt");

    // write content in the file
    file.write("this is an apple", 16);
    position = file.tellp();

    // set position of pointer using seekp
    file.seekp(position - 7);
    file.write(" sam", 4);
    file.close();
}

Output - 
 

this is a sample


Here tellp() function returns the position of pointer then using seekp() function the pointer is shift back from n position here it shift 7 position back and then insert the content at that position . 

Comment