A<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ru">
		<id>http://cppe.ru/index.php?action=history&amp;feed=atom&amp;title=C%2B%2B_Tutorial%2FFile_Stream%2Ffile_pointer</id>
		<title>C++ Tutorial/File Stream/file pointer - История изменений</title>
		<link rel="self" type="application/atom+xml" href="http://cppe.ru/index.php?action=history&amp;feed=atom&amp;title=C%2B%2B_Tutorial%2FFile_Stream%2Ffile_pointer"/>
		<link rel="alternate" type="text/html" href="http://cppe.ru/index.php?title=C%2B%2B_Tutorial/File_Stream/file_pointer&amp;action=history"/>
		<updated>2026-04-11T06:31:12Z</updated>
		<subtitle>История изменений этой страницы в вики</subtitle>
		<generator>MediaWiki 1.30.0</generator>

	<entry>
		<id>http://cppe.ru/index.php?title=C%2B%2B_Tutorial/File_Stream/file_pointer&amp;diff=2940&amp;oldid=prev</id>
		<title> в 14:21, 25 мая 2010</title>
		<link rel="alternate" type="text/html" href="http://cppe.ru/index.php?title=C%2B%2B_Tutorial/File_Stream/file_pointer&amp;diff=2940&amp;oldid=prev"/>
				<updated>2010-05-25T14:21:17Z</updated>
		
		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left&quot; data-mw=&quot;interface&quot;&gt;
				&lt;tr style=&quot;vertical-align: top;&quot; lang=&quot;ru&quot;&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;← Предыдущая&lt;/td&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;Версия 14:21, 25 мая 2010&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; style=&quot;text-align: center;&quot; lang=&quot;ru&quot;&gt;&lt;div class=&quot;mw-diff-empty&quot;&gt;(нет различий)&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</summary>
			</entry>

	<entry>
		<id>http://cppe.ru/index.php?title=C%2B%2B_Tutorial/File_Stream/file_pointer&amp;diff=2941&amp;oldid=prev</id>
		<title>Admin: 1 версия:&amp;#32;Импорт контента...</title>
		<link rel="alternate" type="text/html" href="http://cppe.ru/index.php?title=C%2B%2B_Tutorial/File_Stream/file_pointer&amp;diff=2941&amp;oldid=prev"/>
				<updated>2010-05-25T10:31:09Z</updated>
		
		<summary type="html">&lt;p&gt;1 версия: Импорт контента...&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Новая страница&lt;/b&gt;&lt;/p&gt;&lt;div&gt;==Change a file at specific position==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
&amp;lt;source lang=&amp;quot;cpp&amp;quot;&amp;gt;#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
#include &amp;lt;fstream&amp;gt;&lt;br /&gt;
#include &amp;lt;stdlib.h&amp;gt;&lt;br /&gt;
using namespace std;&lt;br /&gt;
int main(int argc, char *argv[]){&lt;br /&gt;
   if(argc!=4){&lt;br /&gt;
      cout &amp;lt;&amp;lt; &amp;quot;Usage: change &amp;lt;filename&amp;gt; &amp;lt;byte&amp;gt; &amp;lt;character&amp;gt;&amp;quot; &amp;lt;&amp;lt; endl;&lt;br /&gt;
      exit (1);&lt;br /&gt;
   }&lt;br /&gt;
   fstream out(argv[1], ios::in | ios::out | ios::binary);&lt;br /&gt;
   if(!out)&lt;br /&gt;
   {&lt;br /&gt;
      cout &amp;lt;&amp;lt; &amp;quot;Cannot open file!&amp;quot;;&lt;br /&gt;
      exit (1);&lt;br /&gt;
   }&lt;br /&gt;
   out.seekp(atoi(argv[2]), ios::beg);&lt;br /&gt;
   out.put(*argv[3]);&lt;br /&gt;
   out.close();&lt;br /&gt;
}&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==change file at given position==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
&amp;lt;source lang=&amp;quot;cpp&amp;quot;&amp;gt;#include &amp;lt;iostream&amp;gt;    &lt;br /&gt;
#include &amp;lt;fstream&amp;gt;   &lt;br /&gt;
#include &amp;lt;stdlib.h&amp;gt;   &lt;br /&gt;
using namespace std;&lt;br /&gt;
main(int argc, char *argv[])   &lt;br /&gt;
{   &lt;br /&gt;
  if(argc!=3) {   &lt;br /&gt;
    cout &amp;lt;&amp;lt; &amp;quot;Usage: CHANGE &amp;lt;filename&amp;gt; &amp;lt;byte&amp;gt;\n&amp;quot;;   &lt;br /&gt;
    return 1;   &lt;br /&gt;
  }   &lt;br /&gt;
     &lt;br /&gt;
  fstream out(argv[1], ios::in|ios::out);   &lt;br /&gt;
  if(!out) {   &lt;br /&gt;
    cout &amp;lt;&amp;lt; &amp;quot;Cannot open file&amp;quot;;   &lt;br /&gt;
    return 1;   &lt;br /&gt;
  }   &lt;br /&gt;
     &lt;br /&gt;
  out.seekp(atoi(argv[2]), ios::beg);   &lt;br /&gt;
     &lt;br /&gt;
  out.put(&amp;quot;X&amp;quot;);   &lt;br /&gt;
  out.close();   &lt;br /&gt;
     &lt;br /&gt;
  return 0;   &lt;br /&gt;
}&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Check ofstream current marker position==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
&amp;lt;source lang=&amp;quot;cpp&amp;quot;&amp;gt;#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
#include &amp;lt;fstream&amp;gt;&lt;br /&gt;
using namespace std;&lt;br /&gt;
int main(int argc, char** argv)&lt;br /&gt;
{&lt;br /&gt;
  ofstream fout(&amp;quot;test.out&amp;quot;);&lt;br /&gt;
  fout &amp;lt;&amp;lt; &amp;quot;12345&amp;quot;;&lt;br /&gt;
  long curPos = fout.tellp();&lt;br /&gt;
  if (curPos == 5) {&lt;br /&gt;
    cout &amp;lt;&amp;lt; &amp;quot;Test passed: Currently at position 5&amp;quot; &amp;lt;&amp;lt; endl;&lt;br /&gt;
  } else {&lt;br /&gt;
    cout &amp;lt;&amp;lt; &amp;quot;Test failed: Not at position 5&amp;quot; &amp;lt;&amp;lt; endl;&lt;br /&gt;
  }&lt;br /&gt;
  fout.seekp(2, ios_base::beg);&lt;br /&gt;
  fout &amp;lt;&amp;lt; 0;&lt;br /&gt;
  fout.flush();&lt;br /&gt;
  ifstream fin(&amp;quot;test.out&amp;quot;);&lt;br /&gt;
  int testVal;&lt;br /&gt;
  fin &amp;gt;&amp;gt; testVal;&lt;br /&gt;
  &lt;br /&gt;
  if (testVal == 12045) {&lt;br /&gt;
    cout &amp;lt;&amp;lt; &amp;quot;Test passed: Value is 12045&amp;quot; &amp;lt;&amp;lt; endl;&lt;br /&gt;
  } else {&lt;br /&gt;
    cout &amp;lt;&amp;lt; &amp;quot;Test failed: Value is not 12045 (it was &amp;quot; &amp;lt;&amp;lt; testVal &amp;lt;&amp;lt; &amp;quot;)&amp;quot; &amp;lt;&amp;lt; endl;&lt;br /&gt;
  }&lt;br /&gt;
}&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Detecting EOF==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
&amp;lt;source lang=&amp;quot;cpp&amp;quot;&amp;gt;#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
#include &amp;lt;fstream&amp;gt;&lt;br /&gt;
#include &amp;lt;cctype&amp;gt;&lt;br /&gt;
#include &amp;lt;iomanip&amp;gt;&lt;br /&gt;
using namespace std;&lt;br /&gt;
   &lt;br /&gt;
int main(int argc, char *argv[])&lt;br /&gt;
{&lt;br /&gt;
  if(argc!=2) {&lt;br /&gt;
    cout &amp;lt;&amp;lt; &amp;quot;Usage: Display &amp;lt;filename&amp;gt;\n&amp;quot;;&lt;br /&gt;
    return 1;&lt;br /&gt;
  }&lt;br /&gt;
   &lt;br /&gt;
  ifstream in(argv[1], ios::in | ios::binary);&lt;br /&gt;
   &lt;br /&gt;
  if(!in) {&lt;br /&gt;
    cout &amp;lt;&amp;lt; &amp;quot;Cannot open input file.\n&amp;quot;;&lt;br /&gt;
    return 1;&lt;br /&gt;
  }&lt;br /&gt;
   &lt;br /&gt;
  register int i, j;&lt;br /&gt;
  int count = 0;&lt;br /&gt;
  char c[16];&lt;br /&gt;
   &lt;br /&gt;
  cout.setf(ios::uppercase);&lt;br /&gt;
  while(!in.eof()) {&lt;br /&gt;
    for(i=0; i&amp;lt;16 &amp;amp;&amp;amp; !in.eof(); i++) {&lt;br /&gt;
      in.get(c[i]);&lt;br /&gt;
    }&lt;br /&gt;
    if(i&amp;lt;16) i--; // get rid of eof&lt;br /&gt;
   &lt;br /&gt;
    for(j=0; j&amp;lt;i; j++)&lt;br /&gt;
      cout &amp;lt;&amp;lt; setw(3) &amp;lt;&amp;lt; hex &amp;lt;&amp;lt; (int) c[j];&lt;br /&gt;
    for(; j&amp;lt;16; j++) cout &amp;lt;&amp;lt; &amp;quot;  &amp;quot;;&lt;br /&gt;
   &lt;br /&gt;
    cout &amp;lt;&amp;lt; &amp;quot;\t&amp;quot;;&lt;br /&gt;
    for(j=0; j&amp;lt;i; j++)&lt;br /&gt;
      if(isprint(c[j])) cout &amp;lt;&amp;lt; c[j];&lt;br /&gt;
      else cout &amp;lt;&amp;lt; &amp;quot;.&amp;quot;;&lt;br /&gt;
   &lt;br /&gt;
    cout &amp;lt;&amp;lt; endl;&lt;br /&gt;
   &lt;br /&gt;
    count++;&lt;br /&gt;
    if(count==16) {&lt;br /&gt;
      count = 0;&lt;br /&gt;
      cout &amp;lt;&amp;lt; &amp;quot;Press ENTER to continue: &amp;quot;;&lt;br /&gt;
      cin.get();&lt;br /&gt;
      cout &amp;lt;&amp;lt; endl;&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
   &lt;br /&gt;
  in.close();&lt;br /&gt;
   &lt;br /&gt;
  return 0;&lt;br /&gt;
}&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==get file content at given position==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
&amp;lt;source lang=&amp;quot;cpp&amp;quot;&amp;gt;#include &amp;lt;iostream&amp;gt;    &lt;br /&gt;
#include &amp;lt;fstream&amp;gt;   &lt;br /&gt;
#include &amp;lt;stdlib.h&amp;gt;   &lt;br /&gt;
using namespace std;&lt;br /&gt;
main(int argc, char *argv[])   &lt;br /&gt;
{   &lt;br /&gt;
  char ch;   &lt;br /&gt;
     &lt;br /&gt;
  if(argc!=3) {   &lt;br /&gt;
    cout &amp;lt;&amp;lt; &amp;quot;Usage: NAME &amp;lt;filename&amp;gt; &amp;lt;starting location&amp;gt;\n&amp;quot;;   &lt;br /&gt;
    return 1;   &lt;br /&gt;
  }   &lt;br /&gt;
     &lt;br /&gt;
  ifstream in(argv[1]);   &lt;br /&gt;
  if(!in) {   &lt;br /&gt;
    cout &amp;lt;&amp;lt; &amp;quot;Cannot open file&amp;quot;;   &lt;br /&gt;
    return 1;   &lt;br /&gt;
  }   &lt;br /&gt;
     &lt;br /&gt;
  in.seekg(atoi(argv[2]), ios::beg);   &lt;br /&gt;
     &lt;br /&gt;
  while(in.get(ch))   &lt;br /&gt;
    cout &amp;lt;&amp;lt; ch;   &lt;br /&gt;
     &lt;br /&gt;
  return 0;   &lt;br /&gt;
}&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==move to position 2 in the stream and output a 0 in position 2==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
&amp;lt;source lang=&amp;quot;cpp&amp;quot;&amp;gt;#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
#include &amp;lt;fstream&amp;gt;&lt;br /&gt;
using namespace std;&lt;br /&gt;
int main(int argc, char** argv)&lt;br /&gt;
{&lt;br /&gt;
  ofstream fout(&amp;quot;test.out&amp;quot;);&lt;br /&gt;
  fout &amp;lt;&amp;lt; &amp;quot;12345&amp;quot;;&lt;br /&gt;
  long curPos = fout.tellp();&lt;br /&gt;
  if (curPos == 5) {&lt;br /&gt;
    cout &amp;lt;&amp;lt; &amp;quot;Test passed: Currently at position 5&amp;quot; &amp;lt;&amp;lt; endl;&lt;br /&gt;
  } else {&lt;br /&gt;
    cout &amp;lt;&amp;lt; &amp;quot;Test failed: Not at position 5&amp;quot; &amp;lt;&amp;lt; endl;&lt;br /&gt;
  }&lt;br /&gt;
  fout.seekp(2, ios_base::beg);&lt;br /&gt;
  fout &amp;lt;&amp;lt; 0;&lt;br /&gt;
  fout.flush();&lt;br /&gt;
  ifstream fin(&amp;quot;test.out&amp;quot;);&lt;br /&gt;
  int testVal;&lt;br /&gt;
  fin &amp;gt;&amp;gt; testVal;&lt;br /&gt;
  if (testVal == 12045) {&lt;br /&gt;
    cout &amp;lt;&amp;lt; &amp;quot;Test passed: Value is 12045&amp;quot; &amp;lt;&amp;lt; endl;&lt;br /&gt;
  } else {&lt;br /&gt;
    cout &amp;lt;&amp;lt; &amp;quot;Test failed: Value is not 12045 (it was &amp;quot; &amp;lt;&amp;lt; testVal &amp;lt;&amp;lt; &amp;quot;)&amp;quot; &amp;lt;&amp;lt; endl;&lt;br /&gt;
  }&lt;br /&gt;
}&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Seek 0 to reset the file pointer==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
&amp;lt;source lang=&amp;quot;cpp&amp;quot;&amp;gt;#include &amp;lt;fstream&amp;gt;&lt;br /&gt;
#include &amp;lt;string&amp;gt;&lt;br /&gt;
#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
using namespace std;&lt;br /&gt;
int main() {&lt;br /&gt;
     fstream inout( &amp;quot;invoice.dat&amp;quot;, ios::in | ios::out );&lt;br /&gt;
     inout &amp;lt;&amp;lt; 1234 &amp;lt;&amp;lt; &amp;quot; &amp;quot; &amp;lt;&amp;lt; 56.78 &amp;lt;&amp;lt; &amp;quot; &amp;quot; &amp;lt;&amp;lt; &amp;quot;apples&amp;quot; &amp;lt;&amp;lt; &amp;quot;\n&amp;quot;;&lt;br /&gt;
     cout&amp;lt;&amp;lt; inout.tellg()&amp;lt;&amp;lt; endl;           &lt;br /&gt;
     cout &amp;lt;&amp;lt; inout.tellp() &amp;lt;&amp;lt; endl;         &lt;br /&gt;
     inout.seekg( 0 );&lt;br /&gt;
     cout &amp;lt;&amp;lt; inout.tellg() &amp;lt;&amp;lt; endl;         &lt;br /&gt;
     cout &amp;lt;&amp;lt; inout.tellp() &amp;lt;&amp;lt; endl;         &lt;br /&gt;
     int x = 0;                                                        &lt;br /&gt;
     double y = 0.0;                                                   &lt;br /&gt;
     string z = &amp;quot; &amp;quot;;                                                   &lt;br /&gt;
     inout &amp;gt;&amp;gt; x;                                                       &lt;br /&gt;
     inout.seekg( 8, ios::cur );                                       &lt;br /&gt;
     inout &amp;gt;&amp;gt; z;                                                       &lt;br /&gt;
     cout &amp;lt;&amp;lt; x &amp;lt;&amp;lt; &amp;quot; &amp;quot; &amp;lt;&amp;lt; y &amp;lt;&amp;lt; &amp;quot; &amp;quot; &amp;lt;&amp;lt; z &amp;lt;&amp;lt; endl;                        &lt;br /&gt;
     return 0;&lt;br /&gt;
}&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==seek and Skip==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
&amp;lt;source lang=&amp;quot;cpp&amp;quot;&amp;gt;#include &amp;lt;fstream&amp;gt;&lt;br /&gt;
#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
using namespace std;&lt;br /&gt;
int main(){&lt;br /&gt;
    ifstream in(&amp;quot;datafile&amp;quot;);&lt;br /&gt;
    in.unsetf(ios::skipws);                     &lt;br /&gt;
    char ch;&lt;br /&gt;
    while (in &amp;gt;&amp;gt; ch) {                          &lt;br /&gt;
    cout &amp;lt;&amp;lt; ch;                                 &lt;br /&gt;
    }&lt;br /&gt;
    cout &amp;lt;&amp;lt; &amp;quot;\n&amp;quot;;&lt;br /&gt;
    in.clear();&lt;br /&gt;
    in.seekg(ios::beg);                         &lt;br /&gt;
    in.setf(ios::skipws);                       &lt;br /&gt;
    while (in &amp;gt;&amp;gt; ch) {                          &lt;br /&gt;
         cout &amp;lt;&amp;lt; ch;                            &lt;br /&gt;
    }&lt;br /&gt;
    cout &amp;lt;&amp;lt; &amp;quot;\n&amp;quot;;&lt;br /&gt;
    return 0;&lt;br /&gt;
}&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==seekg( ) moves the pointer offset number of characters from the specified origin==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
&amp;lt;source lang=&amp;quot;cpp&amp;quot;&amp;gt;/*&lt;br /&gt;
It must be one of these three values:&lt;br /&gt;
ios::beg         Beginning-of-file&lt;br /&gt;
ios::cur         Current location&lt;br /&gt;
ios::end         End-of-file&lt;br /&gt;
*/&lt;br /&gt;
#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
#include &amp;lt;fstream&amp;gt;&lt;br /&gt;
#include &amp;lt;cstdlib&amp;gt;&lt;br /&gt;
using namespace std;&lt;br /&gt;
   &lt;br /&gt;
int main(int argc, char *argv[])&lt;br /&gt;
{&lt;br /&gt;
  if(argc!=4) {&lt;br /&gt;
    cout &amp;lt;&amp;lt; &amp;quot;Usage: CHANGE &amp;lt;filename&amp;gt; &amp;lt;character&amp;gt; &amp;lt;char&amp;gt;\n&amp;quot;;&lt;br /&gt;
    return 1;&lt;br /&gt;
  }&lt;br /&gt;
   &lt;br /&gt;
  fstream out(argv[1], ios::in | ios::out | ios::binary);&lt;br /&gt;
  if(!out) {&lt;br /&gt;
    cout &amp;lt;&amp;lt; &amp;quot;Cannot open file.&amp;quot;;&lt;br /&gt;
    return 1;&lt;br /&gt;
  }&lt;br /&gt;
   &lt;br /&gt;
  out.seekp(atoi(argv[2]), ios::beg);&lt;br /&gt;
   &lt;br /&gt;
  out.put(*argv[3]);&lt;br /&gt;
  out.close();&lt;br /&gt;
   &lt;br /&gt;
  return 0;&lt;br /&gt;
}&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Tell the current position==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
&amp;lt;source lang=&amp;quot;cpp&amp;quot;&amp;gt;#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
#include &amp;lt;fstream&amp;gt;&lt;br /&gt;
#include &amp;lt;stdlib.h&amp;gt;&lt;br /&gt;
using namespace std;&lt;br /&gt;
int main(int argc, char *argv[]){&lt;br /&gt;
   if(argc!=4){&lt;br /&gt;
      cout &amp;lt;&amp;lt; &amp;quot;Usage: change &amp;lt;filename&amp;gt; &amp;lt;byte&amp;gt; &amp;lt;character&amp;gt;&amp;quot; &amp;lt;&amp;lt; endl;&lt;br /&gt;
      exit(1);&lt;br /&gt;
   }&lt;br /&gt;
   fstream out(argv[1], ios::in | ios::out | ios::binary);&lt;br /&gt;
   if(!out)&lt;br /&gt;
   {&lt;br /&gt;
      cout &amp;lt;&amp;lt; &amp;quot;Cannot open file!&amp;quot;;&lt;br /&gt;
      exit(1);&lt;br /&gt;
   }&lt;br /&gt;
   out.seekp(atoi(argv[2]), ios::beg);&lt;br /&gt;
   out.put(*argv[3]);&lt;br /&gt;
   cout &amp;lt;&amp;lt; &amp;quot;Current position is: &amp;quot; &amp;lt;&amp;lt; out.tellp() &amp;lt;&amp;lt; endl;&lt;br /&gt;
   out.close();&lt;br /&gt;
}&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Test File Position==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
&amp;lt;source lang=&amp;quot;cpp&amp;quot;&amp;gt;#include &amp;lt;fstream&amp;gt;&lt;br /&gt;
#include &amp;lt;string&amp;gt;&lt;br /&gt;
#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
using namespace std;&lt;br /&gt;
int main() {&lt;br /&gt;
    fstream inout( &amp;quot;invoice.dat&amp;quot;, ios::in | ios::out );                      &lt;br /&gt;
    inout &amp;lt;&amp;lt; 1234 &amp;lt;&amp;lt; &amp;quot; &amp;quot; &amp;lt;&amp;lt; 56.78 &amp;lt;&amp;lt; &amp;quot; &amp;quot; &amp;lt;&amp;lt; &amp;quot;apples&amp;quot; &amp;lt;&amp;lt;&amp;quot;\n&amp;quot;;                 &lt;br /&gt;
    cout &amp;lt;&amp;lt; inout.tellg() &amp;lt;&amp;lt; endl;                                      &lt;br /&gt;
    cout &amp;lt;&amp;lt; inout.tellp() &amp;lt;&amp;lt; endl;                                      &lt;br /&gt;
    inout.seekg( ios::beg );                                            &lt;br /&gt;
    cout &amp;lt;&amp;lt; inout.tellg() &amp;lt;&amp;lt; endl;                                      &lt;br /&gt;
    &lt;br /&gt;
    cout &amp;lt;&amp;lt; inout.tellp() &amp;lt;&amp;lt; endl;                                      &lt;br /&gt;
    int x;&lt;br /&gt;
    double y;&lt;br /&gt;
    string z;&lt;br /&gt;
    inout&amp;gt;&amp;gt; x &amp;gt;&amp;gt; y;                                                     &lt;br /&gt;
    inout &amp;gt;&amp;gt; z;                                                              &lt;br /&gt;
    cout &amp;lt;&amp;lt; x &amp;lt;&amp;lt; &amp;quot; &amp;quot; &amp;lt;&amp;lt; y &amp;lt;&amp;lt; &amp;quot; &amp;quot; &amp;lt;&amp;lt; z &amp;lt;&amp;lt; endl;                               &lt;br /&gt;
    return 0;&lt;br /&gt;
}&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==uses both seekp( ) and seekg( ) to reverse the first &amp;lt;num&amp;gt; characters in a file.==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
&amp;lt;source lang=&amp;quot;cpp&amp;quot;&amp;gt;#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
#include &amp;lt;fstream&amp;gt;&lt;br /&gt;
#include &amp;lt;cstdlib&amp;gt;&lt;br /&gt;
using namespace std;&lt;br /&gt;
   &lt;br /&gt;
int main(int argc, char *argv[])&lt;br /&gt;
{&lt;br /&gt;
  if(argc!=3) {&lt;br /&gt;
    cout &amp;lt;&amp;lt; &amp;quot;Usage: Reverse &amp;lt;filename&amp;gt; &amp;lt;num&amp;gt;\n&amp;quot;;&lt;br /&gt;
    return 1;&lt;br /&gt;
  }&lt;br /&gt;
   &lt;br /&gt;
  fstream inout(argv[1], ios::in | ios::out | ios::binary);&lt;br /&gt;
   &lt;br /&gt;
  if(!inout) {&lt;br /&gt;
    cout &amp;lt;&amp;lt; &amp;quot;Cannot open input file.\n&amp;quot;;&lt;br /&gt;
    return 1;&lt;br /&gt;
  }&lt;br /&gt;
   &lt;br /&gt;
  long e, i, j;&lt;br /&gt;
  char c1, c2;&lt;br /&gt;
  e = atol(argv[2]);&lt;br /&gt;
   &lt;br /&gt;
  for(i=0, j=e; i&amp;lt;j; i++, j--) {&lt;br /&gt;
    inout.seekg(i, ios::beg);&lt;br /&gt;
    inout.get(c1);&lt;br /&gt;
    inout.seekg(j, ios::beg);&lt;br /&gt;
    inout.get(c2);&lt;br /&gt;
   &lt;br /&gt;
    inout.seekp(i, ios::beg);&lt;br /&gt;
    inout.put(c2);&lt;br /&gt;
    inout.seekp(j, ios::beg);&lt;br /&gt;
    inout.put(c1);&lt;br /&gt;
  }&lt;br /&gt;
   &lt;br /&gt;
  inout.close();&lt;br /&gt;
  return 0;&lt;br /&gt;
}&amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>Admin</name></author>	</entry>

	</feed>