C++ files and streams. Lec 28-31

Size: px
Start display at page:

Download "C++ files and streams. Lec 28-31"

Transcription

1 C++ files and streams Lec 28-31

2 Introduction So far, we have been using the iostream standard library, which provides cin and cout methods for reading from standard input and writing to standard output respectively. To perform file processing in C++, header files <iostream> and <fstream> must be included in your C++ source file.

3 Files A file is a collection on information, usually stored on a computer s disk. Information can be saved to files and then later reused. All files are assigned a name that is used for identification purposes by the operating system File Name and Extension File Contents and the user. MYPROG.BAS MENU.BAT INSTALL.DOC CRUNCH.EXE BOB.HTML 3DMODEL.JAVA INVENT.OBJ PROG1.PRJ ANSI.SYS README.TXT BASIC program DOS Batch File Documentation File Executable File HTML (Hypertext Markup Language) File Java program or applet Object File Borland C++ Project File System Device Driver Text File 3

4 Process of Using a File Using a file in a program is a simple three-step process The file must be opened. If the file does not yet exits, opening it means creating it. Information is then saved to the file, read from the file, or both. When the program is finished using the file, the file must be closed. 4

5 Contd 5

6 File Input/Output Before file I/O can be performed, a C++ program must be set up properly. File access requires the inclusion of fstream.h Before data can be written to or read from a file, the file must be opened. ifstream inputfile; inputfile.open( customer.dat ); 6

7 Example This program demonstrates the declaration of an fstream object and the opening of a file. 1. #include <iostream> 2. #include <fstream> 3. using namespace std; 4. int main() 5. { 6. fstream datafile; // Declare file stream object 7. char filename[81]; 8. cout << "Enter the name of a file you wish to open\n"; 9. cout << "or create: "; 10. cin.getline(filename, 81); 11. datafile.open(filename, ios::out); 12. cout << "The file " << filename << " was opened.\n"; Output: 13. return 0; 14. } Enter the name of a file you wish to open or create: mystuff.dat The file mystuff.dat was opened. 7

8 Opening a File at Declaration fstream datafile( names.dat, ios::in ios::out); This program demonstrates the opening of a file at the time the file stream object is declared. 1. #include <iostream> 2. #include <fstream> 3. using namespace std; 4. int main() 5. { 6. fstream datafile("names.dat", ios::in ios::out); 7. cout << "The file names.dat was opened.\n"; 8. return 0; 9. } Output: The file names.dat was opened. 8

9 Testing for Open Errors datafile.open( cust.dat, ios::in); if (!datafile) { cout << Error opening file.\n ; } datafile.open( cust.dat, ios::in); if (datafile.fail()) { cout << Error opening file.\n ; } 9

10 Closing a File A file should be closed when a program is finished using it. This program demonstrates the close function. 1. #include <iostream> 2. #include <fstream> 3. using namespace std; 4. int main() 5. { fstream datafile; Output: File was created successfully. Now closing the file. 6. datafile.open("testfile.txt", ios::out); 7. if (!datafile) 8. { } cout << "File open error!" << endl; return 0; 9. cout << "File was created successfully.\n"; 10. cout << "Now closing the file.\n"; 11. datafile.close(); 12. return 0; } 10

11 File Default Open Modes File Type ofstream Default Open Mode The file is opened for output only. (Information may be written to the file, but not read from the file.) If the file does not exist, it is created. If the file already exists, its contents are deleted (the file is truncated). ifstream The file is opened for input only. (Information may be read from the file, but not written to it.) The file s contents will be read from its beginning. If the file does not exist, the open function fails. 11

12 File Mode Flag Meaning File Mode Flags ios::app ios::ate ios::binary ios::in ios::nocreate ios::noreplace ios::out ios::trunc Append mode. If the file already exists, its contents are preserved and all output is written to the end of the file. By default, this flag causes the file to be created if it does not exist. If the file already exists, the program goes directly to the end of it. Output may be written anywhere in the file. Binary mode. When a file is opened in binary mode, information is written to or read from it in pure binary format. (The default mode is text.) Input mode. Information will be read from the file. If the file does not exist, it will not be created and the open function will fail. If the file does not already exist, this flag will cause the open function to fail. (The file will not be created.) If the file already exists, this flag will cause the open function to fail. (The existing file will not be opened.) Output mode. Information will be written to the file. By default, the file s contents will be deleted if it already exists. If the file already exists, its contents will be deleted (truncated). This is the default mode used by ios::out. 12

13 Write on file The stream insertion operator (<<) may be used to write information to a file. outputfile << I love C++ programming!

14 Example This program uses the << operator to write information to a file. 1. #include <iostream> 2. #include <fstream> 3. using namespace std; 4. int main() 5. { fstream datafile; 6. char line[81]; Output: File opened successfully. Now writing information to the file. Done. 7. datafile.open("demofile.txt", ios::out); 8. if (!datafile) 9. { cout << "File open error!" << endl; return 0; } 10. cout << "File opened successfully.\n"; 11. cout << "Now writing information to the file.\n"; 12. datafile << "Jones\n"; 13. datafile << "Smith\n"; 14. datafile.close(); 15. cout << "Done.\n"; return 0; } 14

15 Example This program writes information to a file, closes the file, then reopens it and appends more information. 1. #include <iostream> 2. #include <fstream> 3. using namespace std; 4. int main() 5. { fstream datafile; 6. datafile.open("demofile.txt", ios::out); 7. datafile << "Jones\n"; 8. datafile << "Smith\n"; 9. datafile.close(); 10. datafile.open("demofile.txt", ios::app); 11. datafile << "Willis\n"; 12. datafile << "Davis\n"; 13. datafile.close(); 14. return 0; } 15

16 Read from file The stream extraction operator (>>) may be used to read information from a file. 16

17 Example This program uses the >> operator to read information from a file. 1. #include <iostream> 2. #include <fstream> 3. using namespace std; 4. int main() 5. { fstream datafile; 6. char name[81]; Output: File opened successfully. Now reading information from the file. Jones Smith Willis Davis Done. 7. datafile.open("demofile.txt", ios::in); 8. if (!datafile) 9. { cout << "File open error!" << endl; return 0; } 10. cout << "File opened successfully.\n"; 11. cout << "Now reading information from the file.\n"; 12. for (int count = 0; count < 4; count++) 13. { datafile >> name; cout << name << endl; } 14. datafile.close(); 15. cout << "Done.\n"; 16. return 0; } 17

18 Detecting the End of a File The eof() member function reports when the end of a file has been encountered. if (infile.eof()) infile.close(); In C++, end of file doesn t mean the program is at the last piece of information in the file, but beyond it. The eof() function returns true when there is no more information to be read. 18

19 Example This program uses the file stream object's eof() member function to detect the end of the file. 1. #include <iostream> 2. #include <fstream> 3. using namespace std; 4. int main() 5. { fstream datafile; 6. char name[81]; 7. datafile.open("demofile.txt", ios::in); 8. if (!datafile) Done. 9. { cout << "File open error!" << endl; return 0; } 10. cout << "File opened successfully.\n"; 11. cout << "Reading information from the file.\n"; 12. datafile >> name; // Read first name from the file 13. while (!datafile.eof()) 14. { cout << name << endl; 15. datafile >> name; } 16. datafile.close(); 17. cout << "\ndone.\n"; 18. return 0; } 19 File opened successfully. Reading information from the file. Jones Smith Willis Davis

20 Member Functions for Reading and Writing Files File stream objects have member functions for more specialized file reading and writing. 20

21 Example This program uses the file stream object's eof() member function to detect the end of the file. 1. #include <iostream> Output: 2. #include <fstream> Jones 3. using namespace std; Smith 4. int main() Willis 5. { fstream namefile; Davis 6. char input[81]; namefile.open("demofile.txt", ios::in); 7. if (!namefile) 8. { cout << "File open error!" << endl; return 0; } 9. namefile >> input; 10. while (!namefile.eof()) 11. { cout << input << endl; namefile >> input; } 12. namefile.close(); 13. return 0; 21

22 The getline Member Function datafile.getline(str, 81, \n ); str This is the name of a character array, or a pointer to a section of memory. The information read from the file will be stored here. 81 This number is one greater than the maximum number of characters to be read. In this example, a maximum of 80 characters will be read. \n This is a delimiter character of your choice. If this delimiter is encountered, it will cause the function to stop reading before it has read the maximum number of characters. (This argument is optional. If it s left our, \n is the default.) 22

23 Example This program uses the file stream object's getline member function to read a line of information from the file. Output: 1. #include <iostream> Jones 2. #include <fstream> Smith 3. using namespace std; 4. int main() Willis 5. { fstream namefile; Davis 6. char input[81]; namefile.open("demofile.txt", ios::in); 7. if (!namefile) 8. { cout << "File open error!" << endl; return 0; } 9. namefile.getline(input, 81); // use \n as a delimiter 10. while (!namefile.eof()) 11. { cout << input << endl; 12. namefile.getline(input, 81); // use \n as a delimiter } 13. namefile.close(); 14. return 0; } 23

24 The get Member Function This program asks the user for a file name. The file is opened and its contents are displayed on the screen. 1. #include <iostream> 2. #include <fstream> 3. using namespace std; 4. int main() 5. { fstream file; 6. char ch, filename[51]; 7. cout << "Enter a file name: "; 8. cin >> filename; 9. file.open(filename, ios::in); 10. if (!file) 11. { cout << filename << could not be opened.\n"; return 0; } 12. file.get(ch); // Get a character 13. while (!file.eof()) 14. { cout << ch; file.get(ch); // Get another character } 15. file.close(); 16. return 0; } 24

25 The put Member Function This program demonstrates the put member function. 1. #include <iostream> 2. #include <fstream> using namespace std; 3. int main() 4. { fstream datafile("sentence.txt", ios::out); 5. char ch; cout << "Type a sentence and be sure to end it with a "; 6. cout << "period.\n"; 7. while (1) 8. { cin.get(ch); 9. datafile.put(ch); 10. if (ch == '.') 11. break; 12. } 13. datafile.close(); 14. return 0; } Type a sentence and be sure to end it with a period. I am on my way. Resulting Contents of the File SENTENCE.TXT: I am on my way. Output: 25

26 Unformatted I/O with read and write read and write member functions Unformatted I/O Input/output raw bytes to or from a character array in memory Since the data is unformatted, the functions will not terminate at a newline character for example Instead, like getline, they continue to process a designated number of characters If fewer than the designated number of characters are read, then the failbit is set.

27 File pointers to read/write from binary files To write n bytes: write (const char* buffer, int n); To read n bytes (to a pre-allocated buffer): read (char* buffer, int num)

28 Example 1. #include<iostream> 2. #include <fstream> 3. using namespace std; 4. int main() 5. { int a[] = {10,23,3,7,9,11,25}; 6. fstream fs; 7. fs.open("myfile.txt", ios::binary ios::out); 8. fs.write((char*) &a, sizeof(a)); 9. fs.close(); 10. for(int i = 0; i < 7; i++) a[i] = 0; 11. fs.open("myfile.txt", ios::in ios::binary); 12. fs.read((char*) &a, sizeof(a)); 13. for(int i = 0; i < 7; i++) cout << a[i] << " "; 14. fs.close(); }

29 Random Access Files Random Access means non-sequentially accessing information in a file. 29

30 Mode Flags Mode Flag ios::beg ios::end ios::cur Description The offset is calculated from the beginning of the file. The offset is calculated from the end of the file. The offset is calculated from the current position. 30

31 Contd Statement File.seekp(32L, ios::beg); file.seekp(-10l, ios::end); file.seekp(120l, ios::cur); file.seekg(2l, ios::beg); file.seekg(-100l, ios::end); file.seekg(40l, ios::cur); file.seekg(0l, ios::end); How it Affects the Read/Write Position Sets the write position to the 33rd byte (byte 32) from the beginning of the file. Sets the write position to the 11th byte (byte 10) from the end of the file. Sets the write position to the 121st byte (byte 120) from the current position. Sets the read position to the 3rd byte (byte 2) from the beginning of the file. Sets the read position to the 101st byte (byte 100) from the end of the file. Sets the read position to the 41st byte (byte 40) from the current position. Sets the read position to the end of the 31 file.

32 File position pointers Both istream and ostream provide member functions for repositioning the file-position pointer. These member functions are seekg ("seek get") for istream and seekp ("seek put") for ostream. The seek direction can be ios::beg (the default) for positioning relative to the beginning of a stream ios::cur for positioning relative to the current position in a stream ios::end for positioning relative to the end of a stream.

33 Continued position to the nth byte of fileobject (assumes ios::beg) fileobject.seekg( n ); position n bytes forward in fileobject fileobject.seekg( n, ios::cur ); position n bytes back from end of fileobject fileobject.seekg( n, ios::end ); position at end of fileobject fileobject.seekg( 0, ios::end );

34 Example This program demonstrates the seekg function. 1. #include <iostream> 2. #include <fstream> 3. using namespace std; 4. int main() 5. { fstream file("demofile.txt", ios::in); 6. char ch; 7. file.seekg(5l, ios::beg); 8. file.get(ch); 9. cout << "Byte 5 from beginning: " << ch << endl; 10. file.seekg(-10l, ios::end); 11. file.get(ch); 12. cout << "Byte 10 from end: " << ch << endl; 13. file.seekg(3l, ios::cur); 14. file.get(ch); 15. cout << "Byte 3 from current: " << ch << endl; 16. file.close(); 17. return 0;} 34

Chapter 12 File Operations. Starting Out with C++, 3 rd Edition

Chapter 12 File Operations. Starting Out with C++, 3 rd Edition Chapter 12 File Operations 1 12.1 What is a File? A file is a collection on information, usually stored on a computer s disk. Information can be saved to files and then later reused. 2 12.2 File Names

More information

System Design and Programming II

System Design and Programming II System Design and Programming II CSCI 194 Section 01 CRN: 10968 Fall 2017 David L. Sylvester, Sr., Assistant Professor Chapter 12 Advanced File Operation File Operations A file is a collection of data

More information

File handling Basics. Lecture 7

File handling Basics. Lecture 7 File handling Basics Lecture 7 What is a File? A file is a collection of information, usually stored on a computer s disk. Information can be saved to files and then later reused. 2 File Names All files

More information

Advanced File Operations. Review of Files. Declaration Opening Using Closing. CS SJAllan Chapter 12 2

Advanced File Operations. Review of Files. Declaration Opening Using Closing. CS SJAllan Chapter 12 2 Chapter 12 Advanced File Operations Review of Files Declaration Opening Using Closing CS 1410 - SJAllan Chapter 12 2 1 Testing for Open Errors To see if the file is opened correctly, test as follows: in.open("cust.dat");

More information

Developed By : Ms. K. M. Sanghavi

Developed By : Ms. K. M. Sanghavi Developed By : Ms. K. M. Sanghavi Designing Our Own Manipulators We can design our own manipulators for certain special purpose.the general form for creating a manipulator without any arguments is: ostream

More information

C++ Programming Lecture 10 File Processing

C++ Programming Lecture 10 File Processing C++ Programming Lecture 10 File Processing By Ghada Al-Mashaqbeh The Hashemite University Computer Engineering Department Outline Introduction. The Data Hierarchy. Files and Streams. Creating a Sequential

More information

Files and Streams. 1 P a g e

Files and Streams. 1 P a g e Files and Streams Introduction : When a large amount of data is to be handled in such situations floppy disk or hard disk are needed to store the data. The data is stored in these devices using the concept

More information

Convenient way to deal large quantities of data. Store data permanently (until file is deleted).

Convenient way to deal large quantities of data. Store data permanently (until file is deleted). FILE HANDLING Why to use Files: Convenient way to deal large quantities of data. Store data permanently (until file is deleted). Avoid typing data into program multiple times. Share data between programs.

More information

More File IO. CIS 15 : Spring 2007

More File IO. CIS 15 : Spring 2007 More File IO CIS 15 : Spring 2007 Functionalia Office Hours Today 2 to 3pm - 0317 N (Bridges Room) HW 2 due on Sunday March 11, 11:59pm Note: Midterm is on MONDAY, March 12th Review: Thursday Today: Survey

More information

Unit-V File operations

Unit-V File operations Unit-V File operations What is stream? C++ IO are based on streams, which are sequence of bytes flowing in and out of the programs. A C++ stream is a flow of data into or out of a program, such as the

More information

Chapter-12 DATA FILE HANDLING

Chapter-12 DATA FILE HANDLING Chapter-12 DATA FILE HANDLING Introduction: A file is a collection of related data stored in a particular area on the disk. Programs can be designed to perform the read and write operations on these files.

More information

IS 0020 Program Design and Software Tools

IS 0020 Program Design and Software Tools 1 IS 0020 Program Design and Software Tools Stack/Queue - File Processing Lecture 10 March 29, 2005 Introduction 2 Storage of data Arrays, variables are temporary Files are permanent Magnetic disk, optical

More information

This chapter introduces the notion of namespace. We also describe how to manage input and output with C++ commands via the terminal or files.

This chapter introduces the notion of namespace. We also describe how to manage input and output with C++ commands via the terminal or files. C++ PROGRAMMING LANGUAGE: NAMESPACE AND MANGEMENT OF INPUT/OUTPUT WITH C++. CAAM 519, CHAPTER 15 This chapter introduces the notion of namespace. We also describe how to manage input and output with C++

More information

Random File Access. 1. Random File Access

Random File Access. 1. Random File Access Random File Access 1. Random File Access In sequential file access, the file is read or written sequentially from the beginning. In random file access, you can skip around to various points in the file

More information

Object Oriented Programming Using C++ UNIT-3 I/O Streams

Object Oriented Programming Using C++ UNIT-3 I/O Streams File - The information / data stored under a specific name on a storage device, is called a file. Stream - It refers to a sequence of bytes. Text file - It is a file that stores information in ASCII characters.

More information

C++ Binary File I/O. C++ file input and output are typically achieved by using an object of one of the following classes:

C++ Binary File I/O. C++ file input and output are typically achieved by using an object of one of the following classes: C++ Binary File I/O C++ file input and output are typically achieved by using an object of one of the following classes: ifstream for reading input only. ofstream for writing output only. fstream for reading

More information

C++ does not, as a part of the language, define how data are sent out and read into the program

C++ does not, as a part of the language, define how data are sent out and read into the program Input and Output C++ does not, as a part of the language, define how data are sent out and read into the program I/O implementation is hardware dependent The input and output (I/O) are handled by the standard

More information

Lecture 9. Introduction

Lecture 9. Introduction Lecture 9 File Processing Streams Stream I/O template hierarchy Create, update, process files Sequential and random access Formatted and raw processing Namespaces Lec 9 Programming in C++ 1 Storage of

More information

After going through this lesson, you would be able to: store data in a file. access data record by record from the file. move pointer within the file

After going through this lesson, you would be able to: store data in a file. access data record by record from the file. move pointer within the file 16 Files 16.1 Introduction At times it is required to store data on hard disk or floppy disk in some application program. The data is stored in these devices using the concept of file. 16.2 Objectives

More information

Chapte t r r 9

Chapte t r r 9 Chapter 9 Session Objectives Stream Class Stream Class Hierarchy String I/O Character I/O Object I/O File Pointers and their manipulations Error handling in Files Command Line arguments OOPS WITH C++ Sahaj

More information

by Pearson Education, Inc. All Rights Reserved. 2

by Pearson Education, Inc. All Rights Reserved. 2 In Fig. 17.4, the file is to be opened for output, so an ofstream object is created. Two arguments are passed to the object s constructor the filename and the file-open mode (line 12). For an ofstream

More information

Physical Files and Logical Files. Opening Files. Chap 2. Fundamental File Processing Operations. File Structures. Physical file.

Physical Files and Logical Files. Opening Files. Chap 2. Fundamental File Processing Operations. File Structures. Physical file. File Structures Physical Files and Logical Files Chap 2. Fundamental File Processing Operations Things you have to learn Physical files and logical files File processing operations: create, open, close,

More information

Programming II with C++ (CSNB244) Lab 10. Topics: Files and Stream

Programming II with C++ (CSNB244) Lab 10. Topics: Files and Stream Topics: Files and Stream In this lab session, you will learn very basic and most common I/O operations required for C++ programming. The second part of this tutorial will teach you how to read and write

More information

Object Oriented Programming In C++

Object Oriented Programming In C++ C++ Question Bank Page 1 Object Oriented Programming In C++ 1741059 to 1741065 Group F Date: 31 August, 2018 CIA 3 1. Briefly describe the various forms of get() function supported by the input stream.

More information

Streams contd. Text: Chapter12, Big C++

Streams contd. Text: Chapter12, Big C++ Streams contd pm_jat@daiict.ac.in Text: Chapter12, Big C++ Streams Objects are Abstracted Wrapper around input/output source/destinations Steps in reading/writing streams- Open: Establish connection between

More information

Fundamentals of Programming Session 27

Fundamentals of Programming Session 27 Fundamentals of Programming Session 27 Instructor: Reza Entezari-Maleki Email: entezari@ce.sharif.edu 1 Fall 2013 These slides have been created using Deitel s slides Sharif University of Technology Outlines

More information

Study Material for Class XII. Data File Handling

Study Material for Class XII. Data File Handling Study Material for Class XII Page 1 of 5 Data File Handling Components of C++ to be used with handling: Header s: fstream.h Classes: ifstream, ofstream, fstream File modes: in, out, in out Uses of cascaded

More information

BITG 1113: Files and Stream LECTURE 10

BITG 1113: Files and Stream LECTURE 10 BITG 1113: Files and Stream LECTURE 10 1 LEARNING OUTCOMES At the end of this lecture, you should be able to: 1. Describe the fundamentals of input & output files. 2. Use data files for input & output

More information

Chapter 14 Sequential Access Files

Chapter 14 Sequential Access Files Chapter 14 Sequential Access Files Objectives Create file objects Open a sequential access file Determine whether a sequential access file was opened successfully Write data to a sequential access file

More information

Chapter 8 File Processing

Chapter 8 File Processing Chapter 8 File Processing Outline 1 Introduction 2 The Data Hierarchy 3 Files and Streams 4 Creating a Sequential Access File 5 Reading Data from a Sequential Access File 6 Updating Sequential Access Files

More information

Chapter 12: Advanced File Operations

Chapter 12: Advanced File Operations Chapter 12: Advanced File Operations 12.1 File Operations File Operations File: a set of data stored on a computer, often on a disk drive Programs can read from, write to files Used in many applications:

More information

Fall 2017 CISC/CMPE320 9/27/2017

Fall 2017 CISC/CMPE320 9/27/2017 Notices: CISC/CMPE320 Today File I/O Text, Random and Binary. Assignment 1 due next Friday at 7pm. The rest of the assignments will also be moved ahead a week. Teamwork: Let me know who the team leader

More information

Input and Output File (Files and Stream )

Input and Output File (Files and Stream ) Input and Output File (Files and Stream ) BITE 1513 Computer Game Programming Week 14 Scope Describe the fundamentals of input & output files. Use data files for input & output purposes. Files Normally,

More information

CSc Introduc/on to Compu/ng. Lecture 19 Edgardo Molina Fall 2011 City College of New York

CSc Introduc/on to Compu/ng. Lecture 19 Edgardo Molina Fall 2011 City College of New York CSc 10200 Introduc/on to Compu/ng Lecture 19 Edgardo Molina Fall 2011 City College of New York 18 Standard Device Files Logical file object: Stream that connects a file of logically related data to a program

More information

Kapil Sehgal PGT Computer. Science Ankleshwar Gujarat Ch - 7. Data File Handling

Kapil Sehgal PGT Computer. Science Ankleshwar Gujarat Ch - 7. Data File Handling Introduction Data File Handling The fstream.h Header file Data Files Opening and Closing File Steps to process a File in your Program Changing the behavior of Stream Sequential I/O With Files Detecting

More information

Consider the following example where a base class has been derived by other two classes:

Consider the following example where a base class has been derived by other two classes: Class : BCA 3rd Semester Course Code: BCA-S3-03 Course Title: Object Oriented Programming Concepts in C++ Unit IV Polymorphism The word polymorphism means having many forms. Typically, polymorphism occurs

More information

Fundamental File Processing Operations 2. Fundamental File Processing Operations

Fundamental File Processing Operations 2. Fundamental File Processing Operations 2 Fundamental File Processing Operations Copyright 2004, Binnur Kurt Content Sample programs for file manipulation Physical files and logical files Opening and closing files Reading from files and writing

More information

Writing a Good Program. 7. Stream I/O

Writing a Good Program. 7. Stream I/O Writing a Good Program 1 Input and Output I/O implementation is hardware dependent C++ does not, as a part of the language, define how data are sent out and read into the program The input and output (I/O)

More information

File Operations. Lecture 16 COP 3014 Spring April 18, 2018

File Operations. Lecture 16 COP 3014 Spring April 18, 2018 File Operations Lecture 16 COP 3014 Spring 2018 April 18, 2018 Input/Ouput to and from files File input and file output is an essential in programming. Most software involves more than keyboard input and

More information

All About: File I/O in C++ By Ilia Yordanov, ; C++ Resources

All About: File I/O in C++ By Ilia Yordanov,  ; C++ Resources All About: File I/O in C++ By Ilia Yordanov, loobian@cpp-home.com www.cpp-home.com ; C++ Resources This tutorial may not be republished without a written permission from the author! Introduction This tutorial

More information

CSC 138 Structured Programming CHAPTER 4: TEXT FILE [PART 1]

CSC 138 Structured Programming CHAPTER 4: TEXT FILE [PART 1] CSC 138 Structured Programming CHAPTER 4: TEXT FILE [PART 1] LEARNING OBJECTIVES Upon completion, you should be able to: o define C++ text files o explain the benefits of using I/O file processing o explain

More information

ios ifstream fstream

ios ifstream fstream File handling in C++ In most of the real time programming problems we need to store the data permanently on some secondary storage device so that it can be used later. Whenever we have to store the data

More information

Advanced I/O Concepts

Advanced I/O Concepts Advanced Object Oriented Programming Advanced I/O Concepts Seokhee Jeon Department of Computer Engineering Kyung Hee University jeon@khu.ac.kr 1 1 Streams Diversity of input sources or output destinations

More information

QUESTION BANK. SUBJECT CODE / Name: CS2311 OBJECT ORIENTED PROGRAMMING

QUESTION BANK. SUBJECT CODE / Name: CS2311 OBJECT ORIENTED PROGRAMMING QUESTION BANK DEPARTMENT:EEE SEMESTER: V SUBJECT CODE / Name: CS2311 OBJECT ORIENTED PROGRAMMING UNIT III PART - A (2 Marks) 1. What are the advantages of using exception handling? (AUC MAY 2013) In C++,

More information

Reading from and Writing to Files. Files (3.12) Steps to Using Files. Section 3.12 & 13.1 & Data stored in variables is temporary

Reading from and Writing to Files. Files (3.12) Steps to Using Files. Section 3.12 & 13.1 & Data stored in variables is temporary Reading from and Writing to Files Section 3.12 & 13.1 & 13.5 11/3/08 CS150 Introduction to Computer Science 1 1 Files (3.12) Data stored in variables is temporary We will learn how to write programs that

More information

Computer programs are associated to work with files as it helps in storing data & information permanently. File - itself a bunch of bytes stored on

Computer programs are associated to work with files as it helps in storing data & information permanently. File - itself a bunch of bytes stored on Computer programs are associated to work with files as it helps in storing data & information permanently. File - itself a bunch of bytes stored on some storage devices. In C++ this is achieved through

More information

Lecture 5 Files and Streams

Lecture 5 Files and Streams Lecture 5 Files and Streams Introduction C programs can store results & information permanently on disk using file handling functions These functions let you write either text or binary data to a file,

More information

Module 11 The C++ I/O System

Module 11 The C++ I/O System Table of Contents Module 11 The C++ I/O System CRITICAL SKILL 11.1: Understand I/O streams... 2 CRITICAL SKILL 11.2: Know the I/O class hierarchy... 3 CRITICAL SKILL 11.3: Overload the > operators...

More information

Object Oriented Programming CS250

Object Oriented Programming CS250 Object Oriented Programming CS250 Abas Computer Science Dept, Faculty of Computers & Informatics, Zagazig University arabas@zu.edu.eg http://www.arsaliem.faculty.zu.edu.eg Object Oriented Programming Principles

More information

Streams in C++ Stream concept. Reference information. Stream type declarations

Streams in C++ Stream concept. Reference information. Stream type declarations Stream concept A stream represent a sequence of bytes arriving, being retrieved, being stored, or being sent, in order. A stream is continuos and offer sequential access to the data. Each byte can be read

More information

Today in CS162. External Files. What is an external file? How do we save data in a file? CS162 External Data Files 1

Today in CS162. External Files. What is an external file? How do we save data in a file? CS162 External Data Files 1 Today in CS162 External Files What is an external file? How do we save data in a file? CS162 External Data Files 1 External Files So far, all of our programs have used main memory to temporarily store

More information

Introduction. Lecture 5 Files and Streams FILE * FILE *

Introduction. Lecture 5 Files and Streams FILE * FILE * Introduction Lecture Files and Streams C programs can store results & information permanently on disk using file handling functions These functions let you write either text or binary data to a file, and

More information

UEE1303(1070) S 12 Object-Oriented Programming in C++

UEE1303(1070) S 12 Object-Oriented Programming in C++ Computational Intelligence on Automation Lab @ NCTU Learning Objectives UEE1303(1070) S 12 Object-Oriented Programming in C++ Lecture 06: Streams and File Input/Output I/O stream istream and ostream member

More information

DATA FILE HANDLING FILES. characters (ASCII Code) sequence of bytes, i.e. 0 s & 1 s

DATA FILE HANDLING FILES. characters (ASCII Code) sequence of bytes, i.e. 0 s & 1 s DATA FILE HANDLING The Language like C/C++ treat everything as a file, these languages treat keyboard, mouse, printer, Hard disk, Floppy disk and all other hardware as a file. In C++, a file, at its lowest

More information

by Pearson Education, Inc. All Rights Reserved. 2

by Pearson Education, Inc. All Rights Reserved. 2 Data that is formatted and written to a sequential file as shown in Section 17.4 cannot be modified without the risk of destroying other data in the file. For example, if the name White needs to be changed

More information

Case Study: High Adventure Travel Agency Part 3

Case Study: High Adventure Travel Agency Part 3 Case Study: High Adventure Travel Agency Part 3 Chapter 6 s case study was a program to assist the High Adventure Travel Agency in calculating the costs of their four vacation packages. In Chapter 11,

More information

C++ How to Program 14.6

C++ How to Program 14.6 C++ How to Program 14.6 14.6 Random-Access Files pg.611-pg.612 -Unlike sequential files, R.A. files are instant-access applications. Any transaction-processing system. Requiring rapid access to specific

More information

MANAGING FILES OF RECORDS

MANAGING FILES OF RECORDS MANAGING FILES OF RECORDS Contents of today s lecture: Field and record organization (textbook: Section 4.1) Sequential search and direct access (textbook: Section 5.1) Seeking (textbook: Section 2.5)

More information

Fundamentals of Programming Session 28

Fundamentals of Programming Session 28 Fundamentals of Programming Session 28 Instructor: Reza Entezari-Maleki Email: entezari@ce.sharif.edu 1 Fall 2014 These slides have been created using Deitel s slides Sharif University of Technology Outlines

More information

UNIT V FILE HANDLING

UNIT V FILE HANDLING UNIT V CONTENTS: Streams and formatted I/O I/O manipulators File handling Random access Object serialization Namespaces Std namespace ANSI String Objects Standard template library FILE HANDLING Streams:

More information

CS2141 Software Development using C/C++ Stream I/O

CS2141 Software Development using C/C++ Stream I/O CS2141 Software Development using C/C++ Stream I/O iostream Two libraries can be used for input and output: stdio and iostream The iostream library is newer and better: It is object oriented It can make

More information

Downloaded from

Downloaded from DATA FILE HANDLING IN C++ Key Points: Text file: A text file stores information in readable and printable form. Each line of text is terminated with an EOL (End of Line) character. Binary file: A binary

More information

VuZs Team's Work. CS201 Spring Solved by vuzs Team with Reference Written by Administrator Wednesday, 19 May :52

VuZs Team's Work. CS201 Spring Solved by vuzs Team with Reference Written by Administrator Wednesday, 19 May :52 CS201 Spring2009 5 Solved by vuzs Team with Reference Written by Administrator Wednesday, 19 May 2010 17:52 MIDTERM EXAMINATION Spring 2009 CS201- Introduction to Programming Shared & Solved by vuzs Team

More information

A stream is infinite. File access methods. File I/O in C++ 4. File input/output David Keil CS II 2/03. The extractor and inserter form expressions

A stream is infinite. File access methods. File I/O in C++ 4. File input/output David Keil CS II 2/03. The extractor and inserter form expressions Topic: File input/output I. Streams II. Access methods III. C++ style Input, output, random access Stream classes: ifstream, ofstream IV. C style The FILE data type Opening files Writing to, reading text

More information

Object Oriented Programming

Object Oriented Programming Object Oriented Programming Course Title: Object Oriented Programming Full Marks: 60 20 20 Course No: CSC161 Pass Marks: 24 8 8 Nature of Course: Theory Lab Credit Hrs: 3 Semester: II Course Description:

More information

Input/output. Remember std::ostream? std::istream std::ostream. std::ostream cin std::istream. namespace std { class ostream { /*...

Input/output. Remember std::ostream? std::istream std::ostream. std::ostream cin std::istream. namespace std { class ostream { /*... Input/output Remember std::ostream? namespace std { class ostream { /*... */ }; } extern istream cin; extern ostream cout; extern ostream cerr; extern ostream clog; 7 / 24 std::istream std::ostream std

More information

Chapter 12. Streams and File I/O. Copyright 2010 Pearson Addison-Wesley. All rights reserved

Chapter 12. Streams and File I/O. Copyright 2010 Pearson Addison-Wesley. All rights reserved Chapter 12 Streams and File I/O Copyright 2010 Pearson Addison-Wesley. All rights reserved Learning Objectives I/O Streams File I/O Character I/O Tools for Stream I/O File names as input Formatting output,

More information

Fig: iostream class hierarchy

Fig: iostream class hierarchy Unit 6: C++ IO Systems ================== Streams: Θ A stream is a logical device that either produces or consumes information. Θ A stream is linked to a physical device by the I/O system. Θ All streams

More information

Chapter 12. Streams and File I/O. Copyright 2016 Pearson, Inc. All rights reserved.

Chapter 12. Streams and File I/O. Copyright 2016 Pearson, Inc. All rights reserved. Chapter 12 Streams and File I/O Copyright 2016 Pearson, Inc. All rights reserved. Learning Objectives I/O Streams File I/O Character I/O Tools for Stream I/O File names as input Formatting output, flag

More information

I BSc(IT) [ Batch] Semester II Core: Object Oriented Programming With C plus plus - 212A Multiple Choice Questions.

I BSc(IT) [ Batch] Semester II Core: Object Oriented Programming With C plus plus - 212A Multiple Choice Questions. Dr.G.R.Damodaran College of Science (Autonomous, affiliated to the Bharathiar University, recognized by the UGC)Reaccredited at the 'A' Grade Level by the NAAC and ISO 9001:2008 Certified CRISL rated 'A'

More information

Lecture 3 The character, string data Types Files

Lecture 3 The character, string data Types Files Lecture 3 The character, string data Types Files The smallest integral data type Used for single characters: letters, digits, and special symbols Each character is enclosed in single quotes 'A', 'a', '0',

More information

Streams. Rupesh Nasre.

Streams. Rupesh Nasre. Streams Rupesh Nasre. OOAIA January 2018 I/O Input stream istream cin Defaults to keyboard / stdin Output stream ostream cout std::string name; std::cout > name; std::cout

More information

File I/O. File Names and Types. I/O Streams. Stream Extraction and Insertion. A file name should reflect its contents

File I/O. File Names and Types. I/O Streams. Stream Extraction and Insertion. A file name should reflect its contents File I/O 1 File Names and Types A file name should reflect its contents Payroll.dat Students.txt Grades.txt A file s extension indicates the kind of data the file holds.dat,.txt general program input or

More information

Strings and Streams. Professor Hugh C. Lauer CS-2303, System Programming Concepts

Strings and Streams. Professor Hugh C. Lauer CS-2303, System Programming Concepts Strings and Streams Professor Hugh C. Lauer CS-2303, System Programming Concepts (Slides include materials from The C Programming Language, 2 nd edition, by Kernighan and Ritchie, Absolute C++, by Walter

More information

Software Design & Programming I

Software Design & Programming I Software Design & Programming I Starting Out with C++ (From Control Structures through Objects) 7th Edition Written by: Tony Gaddis Pearson - Addison Wesley ISBN: 13-978-0-132-57625-3 Chapter 3 Introduction

More information

Text File I/O. #include <iostream> #include <fstream> using namespace std; int main() {

Text File I/O. #include <iostream> #include <fstream> using namespace std; int main() { Text File I/O We can use essentially the same techniques we ve been using to input from the keyboard and output to the screen and just apply them to files instead. If you want to prepare input data ahead,

More information

Streams - Object input and output in C++

Streams - Object input and output in C++ Streams - Object input and output in C++ Dr. Donald Davendra Ph.D. Department of Computing Science, FEI VSB-TU Ostrava Dr. Donald Davendra Ph.D. (Department of Computing Streams - Object Science, input

More information

Generate error the C++ way

Generate error the C++ way Reference informa9on Lecture 3 Stream I/O Consult reference for complete informa9on! UNIX man- pages (available on exam): man topic man istream man ostream ios, basic_string, stringstream, ctype, numeric_limits

More information

Strings and Stream I/O

Strings and Stream I/O Strings and Stream I/O C Strings In addition to the string class, C++ also supports old-style C strings In C, strings are stored as null-terminated character arrays str1 char * str1 = "What is your name?

More information

And Even More and More C++ Fundamentals of Computer Science

And Even More and More C++ Fundamentals of Computer Science And Even More and More C++ Fundamentals of Computer Science Outline C++ Classes Friendship Inheritance Multiple Inheritance Polymorphism Virtual Members Abstract Base Classes File Input/Output Friendship

More information

I/O Streams and Standard I/O Devices (cont d.)

I/O Streams and Standard I/O Devices (cont d.) Chapter 3: Input/Output Objectives In this chapter, you will: Learn what a stream is and examine input and output streams Explore how to read data from the standard input device Learn how to use predefined

More information

Page 1

Page 1 Virtual Functions (introduction) A virtual function is one that does not really exist but it appears real in some parts of the program. Virtual functions are advanced features of the object oriented programming

More information

Week 5: Files and Streams

Week 5: Files and Streams CS319: Scientific Computing (with C++) Week 5: and Streams 9am, Tuesday, 12 February 2019 1 Labs and stuff 2 ifstream and ofstream close a file open a file Reading from the file 3 Portable Bitmap Format

More information

Week 3: File I/O and Formatting 3.7 Formatting Output

Week 3: File I/O and Formatting 3.7 Formatting Output Week 3: File I/O and Formatting 3.7 Formatting Output Formatting: the way a value is printed: Gaddis: 3.7, 3.8, 5.11 CS 1428 Fall 2014 Jill Seaman spacing decimal points, fractional values, number of digits

More information

by Pearson Education, Inc. All Rights Reserved. 2

by Pearson Education, Inc. All Rights Reserved. 2 The C++ standard libraries provide an extensive set of input/output capabilities. C++ uses type-safe I/O. Each I/O operation is executed in a manner sensitive to the data type. If an I/O member function

More information

C++ Input/Output Chapter 4 Topics

C++ Input/Output Chapter 4 Topics Chapter 4 Topics Chapter 4 Program Input and the Software Design Process Input Statements to Read Values into a Program using >>, and functions get, ignore, getline Prompting for Interactive Input/Output

More information

CSE 100: STREAM I/O, BITWISE OPERATIONS, BIT STREAM I/O

CSE 100: STREAM I/O, BITWISE OPERATIONS, BIT STREAM I/O CSE 100: STREAM I/O, BITWISE OPERATIONS, BIT STREAM I/O PA2: encoding/decoding ENCODING: 1.Scan text file to compute frequencies 2.Build Huffman Tree 3.Find code for every symbol (letter) 4.Create new

More information

Objects and streams and files CS427: Elements of Software Engineering

Objects and streams and files CS427: Elements of Software Engineering Objects and streams and files CS427: Elements of Software Engineering Lecture 6.2 (C++) 10am, 13 Feb 2012 CS427 Objects and streams and files 1/18 Today s topics 1 Recall...... Dynamic Memory Allocation...

More information

Simple File I/O.

Simple File I/O. Simple File I/O from Chapter 6 http://www.cplusplus.com/reference/fstream/ifstream/ l / /f /if / http://www.cplusplus.com/reference/fstream/ofstream/ I/O Streams I/O refers to a program s input and output

More information

ENGI 1020 Introduction to Computer Programming R E Z A S H A H I D I J U L Y 2 6,

ENGI 1020 Introduction to Computer Programming R E Z A S H A H I D I J U L Y 2 6, ENGI 1020 Introduction to Computer Programming R E Z A S H A H I D I J U L Y 2 6, 2 0 1 0 Streams and files We have already talked about the standard input stream (cin), and the standard output stream

More information

CS 103 Unit 14 - Streams

CS 103 Unit 14 - Streams CS 103 Unit 14 - Streams 1 2 I/O Streams '>>' operator used to read data from an input stream Always skips leading whitespace ('\n', ' ', '\t') and stops at first trailing whitespace '

More information

File I/O Christian Schumacher, Info1 D-MAVT 2013

File I/O Christian Schumacher, Info1 D-MAVT 2013 File I/O Christian Schumacher, chschuma@inf.ethz.ch Info1 D-MAVT 2013 Input and Output in C++ Stream objects Formatted output Writing and reading files References General Remarks I/O operations are essential

More information

COMP322 - Introduction to C++

COMP322 - Introduction to C++ COMP322 - Introduction to C++ Lecture 05 - I/O using the standard library, stl containers, stl algorithms Dan Pomerantz School of Computer Science 5 February 2013 Basic I/O in C++ Recall that in C, we

More information

EP241 Computing Programming

EP241 Computing Programming EP241 Computing Programming Topic 9 File Management Department of Engineering Physics University of Gaziantep Course web page www.gantep.edu.tr/~bingul/ep241 Sep 2013 Sayfa 1 Overview of Streams in C++

More information

10/23/02 21:20:33 IO_Examples

10/23/02 21:20:33 IO_Examples 1 Oct 22 22:07 2000 extractor1.c Page 1 istream &operator>>( istream &in, Point &p ){ char junk; in >> junk >> p.x >> junk >> p.y >> junk; return in; 2 Oct 22 22:07 2000 extractor2.c Page 1 istream &operator>>(

More information

========================GDS2_BIN2TXT_main.cpp============================================

========================GDS2_BIN2TXT_main.cpp============================================ ========================GDS2_BIN2TXT_main.cpp============================================ using namespace std; stream::pos_type getpoer; char * memblock; unsigned Int_2u(

More information

Module C++ I/O System Basics

Module C++ I/O System Basics 1 Module - 36 C++ I/O System Basics Table of Contents 1. Introduction 2. Stream classes of C++ 3. Predefined Standard Input/Output Streams 4. Functions of class 5. Functions of class

More information

Piyush Kumar. input data. both cout and cin are data objects and are defined as classes ( type istream ) class

Piyush Kumar. input data. both cout and cin are data objects and are defined as classes ( type istream ) class C++ IO C++ IO All I/O is in essence, done one character at a time For : COP 3330. Object oriented Programming (Using C++) http://www.compgeom.com/~piyush/teach/3330 Concept: I/O operations act on streams

More information

Overview of Lecture. 1 Overloading I/O Operators. 2 Overloading << and >> for Fractions. 3 Formatted vs Unformatted Input

Overview of Lecture. 1 Overloading I/O Operators. 2 Overloading << and >> for Fractions. 3 Formatted vs Unformatted Input Overview of Lecture 1 Overloading I/O Operators 2 Overloading > for Fractions 3 Formatted vs Unformatted Input 4 Setting the State of a Stream 5 Questions PIC 10B Streams, Part II April 20, 2016

More information

Developed By : Ms. K. M. Sanghavi

Developed By : Ms. K. M. Sanghavi Developed By : Ms. K. M. Sanghavi Stream and files Stream Classes Stream Errors Disk File I/O with Streams, Manipulators File I/O Streams with Functions Error Handling in File Overloading the Extraction

More information