move to position 2 in the stream and output a 0 in position 2 : file pointer « File Stream « C++ Tutorial






#include <iostream>
#include <fstream>

using namespace std;

int main(int argc, char** argv)
{
  ofstream fout("test.out");

  fout << "12345";

  long curPos = fout.tellp();
  if (curPos == 5) {
    cout << "Test passed: Currently at position 5" << endl;
  } else {
    cout << "Test failed: Not at position 5" << endl;
  }

  fout.seekp(2, ios_base::beg);
  fout << 0;
  fout.flush();

  ifstream fin("test.out");
  int testVal;
  fin >> testVal;
  if (testVal == 12045) {
    cout << "Test passed: Value is 12045" << endl;
  } else {
    cout << "Test failed: Value is not 12045 (it was " << testVal << ")" << endl;
  }
}








12.6.file pointer
12.6.1.change file at given position
12.6.2.get file content at given position
12.6.3.Change a file at specific position
12.6.4.Check ofstream current marker position
12.6.5.move to position 2 in the stream and output a 0 in position 2
12.6.6.Tell the current position
12.6.7.seek and Skip
12.6.8.Test File Position
12.6.9.Seek 0 to reset the file pointer
12.6.10.seekg( ) moves the pointer offset number of characters from the specified origin
12.6.11.uses both seekp( ) and seekg( ) to reverse the first characters in a file.
12.6.12.Detecting EOF