Transcript Sequential Access Files
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
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
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