Ebi wrote:
>
> too ios::ate and combine of them dosn't solve the problem.
> please Help me with other ios::func!
>
This works for me as expected.
#include <iostream>
#include <fstream>
using namespace std;
struct Test
{
int Id;
char Name[20];
};
int main()
{
ofstream OutFile;
OutFile.open( "C:\\test.dat", ios:

ut | ios::in | ios::binary );
if( !OutFile ) {
// File does not exist yet, create one
OutFile.clear();
OutFile.open( "C:\\test.dat", ios:

ut | ios::binary );
}
Test Rec;
Rec.Id = 1;
strcpy( Rec.Name, "Eibi" );
OutFile.seekp( 1 * sizeof( Rec ), ios::beg );
OutFile.write( (char*)&Rec, sizeof( Rec ) );
OutFile.close();
OutFile.open( "C:\\test.dat", ios:

ut | ios::in | ios::binary );
Rec.Id = 0;
strcpy( Rec.Name, "Kalle" );
OutFile.seekp( 0 * sizeof( Rec ), ios::beg );
OutFile.write( (char*)&Rec, sizeof( Rec ) );
OutFile.close();
ifstream InFile( "C:\\test.dat", ios::binary );
InFile.seekg( 0 * sizeof( Rec ), ios::beg );
InFile.read( (char*)&Rec, sizeof( Rec ) );
cout << Rec.Id << " " << Rec.Name << endl;
InFile.seekg( 1 * sizeof( Rec ), ios::beg );
InFile.read( (char*)&Rec, sizeof( Rec ) );
cout << Rec.Id << " " << Rec.Name << endl;
}
--
Karl Heinz Buchegger