Creating a randomly accessed file : binary file « File Stream « C++ Tutorial

Home
C++ Tutorial
1.Language Basics
2.Data Types
3.Operators statements
4.Array
5.Development
6.Exceptions
7.Function
8.Structure
9.Class
10.Operator Overloading
11.Pointer
12.File Stream
13.template
14.STL Introduction
15.string
16.vector
17.list
18.bitset
19.set multiset
20.valarray
21.queue stack
22.deque
23.map multimap
24.STL Algorithms Modifying sequence operations
25.STL Algorithms Non modifying sequence operations
26.STL Algorithms Binary search
27.STL Algorithms Sorting
28.STL Algorithms Merge
29.STL Algorithms Min Max
30.STL Algorithms Iterator
31.STL Algorithms Heap
32.STL Algorithms Helper
C / ANSI-C
C Tutorial
C++
Visual C++ .NET
C++ Tutorial » File Stream » binary file 
12.3.8.Creating a randomly accessed file
#include <iostream>
using std::cerr;
using std::endl;
using std::ios;

#include <fstream>
using std::ofstream;

#include <cstdlib>
using std::exit;

#include <string>
using std::string;

class Account
{
public:
    Accountint accountNumberValue, string lastNameValue, string firstNameValue, double balanceValue )
    {
       setAccountNumberaccountNumberValue );
       setLastNamelastNameValue );
       setFirstNamefirstNameValue );
       setBalancebalanceValue );
    }

    int getAccountNumber() const
    {
       return accountNumber;
    }
    void setAccountNumberint accountNumberValue )
    {
       accountNumber = accountNumberValue; // should validate
    }
    string getLastName() const
    {
       return lastName;
    }
    void setLastNamestring lastNameString )
    {
       const char *lastNameValue = lastNameString.data();
       strncpylastName, lastNameValue, );
       lastName'\0';
    }

    string getFirstName() const
    {
       return firstName;
    }

    void setFirstNamestring firstNameString )
    {
       const char *firstNameValue = firstNameString.data();
       strncpyfirstName, firstNameValue, );
       firstName'\0';
    }
    double getBalance() const
    {
       return balance;
    }
    void setBalancedouble balanceValue )
    {
       balance = balanceValue;
    }

private:
   int accountNumber;
   char lastName15 ];
   char firstName10 ];
   double balance;
};

int main()
{
   ofstream outCredit"credit.dat", ios::binary );

   if !outCredit )
   {
      cerr << "File could not be opened." << endl;
      exit);
   }

   Account blankClient(1,"AAAAA","BBBBB",1.2);

   // output 100 blank records to file
   for int i = 0; i < 100; i++ )
      outCredit.writereinterpret_cast< const char * >&blankClient ),
         sizeofAccount ) );

   return 0;
}
12.3.binary file
12.3.1.Open a binary file
12.3.2.Reading binary file
12.3.3.Open a binary file and read
12.3.4.Output a binary file in hexadecimal
12.3.5.Write Unformatted Binary Data to a File
12.3.6.Use read() to input blocks of binary data.
12.3.7.Use write() to output a block of binary data.
12.3.8.Creating a randomly accessed file
12.3.9.Append to a binary file
12.3.10.Unformatted and Binary I/O
www.java2java.com | Contact Us
Copyright 2009 - 12 Demo Source and Support. All rights reserved.
All other trademarks are property of their respective owners.