Docstoc

ch13

Document Sample
ch13 Powered By Docstoc
					  An Introduction to
Programming with C++
       Fifth Edition


       Chapter 13
  Sequential Access Files
                                    Objectives

•   Open a sequential access file
•   Determine whether a file was opened successfully
•   Write data to a sequential access file
•   Read data from a sequential access file




An Introduction to Programming with C++, Fifth Edition   2
                     Objectives (continued)

• Test for the end of a sequential access file
• Close a sequential access file
• Read information from and write information to a
  sequential access file in .NET C++




An Introduction to Programming with C++, Fifth Edition   3
                            Concept Lesson

•   File Types
•   Using Sequential Access Files
•   Creating and Opening a Sequential Access File
•   Determining whether a File was Opened
    Successfully




An Introduction to Programming with C++, Fifth Edition   4
             Concept Lesson (continued)

•   Writing Information to a Sequential Access File
•   Reading Information from a Sequential Access File
•   Testing for the End of a Sequential Access File
•   Closing a Sequential Access File




An Introduction to Programming with C++, Fifth Edition   5
                                    File Types

• A program can “read” from or “write” to a file
     – Files to which information is written are output files
     – Files that are read by the computer are input files
• Types of files in C++
     – Sequential
           • Information is accessed in consecutive order
     – Random
           • Can be accessed in consecutive or in random order
     – Binary
           • Information can be accessed by its byte location

An Introduction to Programming with C++, Fifth Edition           6
           Using Sequential Access Files

• A sequential access file is often called a text file




An Introduction to Programming with C++, Fifth Edition   7
           Using Sequential Access Files
                   (continued)




An Introduction to Programming with C++, Fifth Edition   8
    Creating and Opening a Sequential
               Access File
• You must create the input and output file objects
  used in a program
     – #include <fstream>
           • ifstream and ofstream classes
     – using std::ifstream; and using std::ios;




An Introduction to Programming with C++, Fifth Edition   9
    Creating and Opening a Sequential
          Access File (continued)




An Introduction to Programming with C++, Fifth Edition   10
    Creating and Opening a Sequential
          Access File (continued)




An Introduction to Programming with C++, Fifth Edition   11
    Creating and Opening a Sequential
          Access File (continued)




An Introduction to Programming with C++, Fifth Edition   12
         Determining whether a File was
              Opened Successfully
• open() may fail when attempting to open a file
     – E.g., it will not be able to create an output file when
       the path in fileName does not exist, or when the disk
       is full




An Introduction to Programming with C++, Fifth Edition       13
       Determining whether a File was
       Opened Successfully (continued)




                                              ! is the Not logical operator




An Introduction to Programming with C++, Fifth Edition                        14
     Writing Information to a Sequential
                 Access File
• Field: single item of information about a person,
  place, or thing
     – E.g., a name, a salary, a SSN, or a price
• Record: a collection of one or more related fields
     – Contains data about a specific person, place, or
       thing
     – The college you are attending keeps student records
           • Examples of fields include your SSN, name, address,
             phone number, credits earned, and grades earned



An Introduction to Programming with C++, Fifth Edition         15
     Writing Information to a Sequential
           Access File (continued)




An Introduction to Programming with C++, Fifth Edition   16
     Writing Information to a Sequential
           Access File (continued)
• To verify if information was written correctly, open
  the (sequential access) file in a text editor
     – E.g., the text editor in Visual C++ or Notepad




An Introduction to Programming with C++, Fifth Edition   17
Reading Information from a Sequential
             Access File
• Use >> to read char and numeric data from a file
• Use getline() to read string data from a
  sequential access file
     – The default delimiter character is the newline
       character („\n‟)




An Introduction to Programming with C++, Fifth Edition   18
Reading Information from a Sequential
      Access File (continued)




An Introduction to Programming with C++, Fifth Edition   19
     Testing for the End of a Sequential
                  Access File
• A file pointer keeps track of the next character
  either to read from or write to a file
     – When a sequential access file is opened for input,
       the file pointer is positioned before the first character
     – As characters are read, the pointer is moved forward




An Introduction to Programming with C++, Fifth Edition        20
     Testing for the End of a Sequential
           Access File (continued)




An Introduction to Programming with C++, Fifth Edition   21
       Closing a Sequential Access File

• To prevent the loss of data, close a sequential
  access file as soon as program finishes using it




An Introduction to Programming with C++, Fifth Edition   22
                                      Summary
• Sequential access files can be input or output files
• To use a text file, program must contain:
   – include <fstream> directive
   – using std::ios; statement
• Use the ifstream and ofstream classes to create
  input and output file objects, respectively
• Use is_open() to determine whether a text file was
  opened successfully



 An Introduction to Programming with C++, Fifth Edition   23
                      Summary (continued)
• Records in a text file are usually written on a
  separate line in the file
     – Use endl
• eof() determines if file pointer is at end of the file
• Use close() to close a file
     – Failing to close an open file can result in loss of data




An Introduction to Programming with C++, Fifth Edition        24
Application Lesson: Using a Sequential
    Access File in a C++ Program
• Lab 13.1: Stop and Analyze
• Lab 13.2
     – Program should allow flower shop owner to save in a
       text file each salesperson‟s name and sales amount
           • Also, display the total of the sales amounts in file
• Lab 13.3
     – Modified program will allow the user to display
       contents of sales.txt file
• Lab 13.4: Desk-Check Lab
• Lab 13.5: Debugging Lab

An Introduction to Programming with C++, Fifth Edition              25

				
DOCUMENT INFO
Shared By:
Categories:
Tags:
Stats:
views:10
posted:9/20/2011
language:English
pages:25