An Introduction to Programming with C Fifth Edition

























- Slides: 25
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 file. Name 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