C++ Streams and I/O Operations

undefined
 
 
By
M.Juno Isabel Susinthra,
Asst.Professor of B.C.A,
Annai Vailankanni College of Arts and
Science ,Thanjavur
 
 
 
 
CONTENTS:
1.
Managing I/O Operations
2.
Working with Files
3.
Templates
4.
Exception Handling
 
C++ Streams
The C++ I/O system operates through
streams. A stream is logical device that either
produces the same or  consumes the
different information. A stream is linked to a
physical device by the C++ I/O system. All
streams behave in the same manner, even if
the actual physical devices are linked to
several devices. As all streams act the same,
the I/O system links the programmer with a
uniform interface.
 
 
 
Output stream
: If a stream  takes data from
the program and sends (writes) to the
destination.
Input stream
: If a stream that gets (reads)
data from the source and sends to the
program.
 
 
Class istream 
:- Defines input streams that
can be used to carry out formatted and
unformatted input
 
operations. It contains the
overloaded extraction (>>) operator
functions. Declares input functions such get(),
getline() and read().
 
Class ostream 
:- Defines output streams that
can be used to write data. Declares output
functions put
 
and write().The ostream class
contains the overloaded insertion (<<)
operator function
 
Cin and Cout objects
Cin
 -is a predefined object that corresponds
to the standard input stream. The standard
input stream represents keyboard.
EX:
cin >> name;
  char name;
 
Cout
 is a predefined object that represents
the standard output stream in C. The <<
operator is referred to as the insertion
operator.
Ex:
cout << “Programming in C++”;
 
Functions get and put:
There are two prototypes available in C++ for 
get
as given below:
get (char *)
get ()
EX:
char ch ; AND cin.get (ch);
PUT
 has two forms as given below:
cout.put (var);
Here the value of the variable var will be
displayed in the console monitor.User can also
display a specific character directly as given
below:
  cout.put (var); AND cout.put (‘a’);
 
 
 
 
 
 
A file is a bunch of bytes stored on some
storage devices like hard disk, floppy disk
etc. File I/O and console I/O are closely
related.
To create an input stream, declare an object
of type ifstream.
To create an output stream, declare an object
of type ofstream.
To create an input/output stream, declare an
object of type fstream.
 
ifstream in;
 
// input;
fstream out;  // output;
fstream io;
 
// input and output
EX:
void ifstream::open(const
char*filename,openmode mode=ios::in);
 
void ofstream::open(const
char*filename,openmode mode=ios::out |
ios::trunc);
 
void fstream::open(const
char*filename,openmode mode=ios::in | ios::out);
 
 
Opening File and Closing File:
Opening a File:
myfile.open ("example.bin", ios::out | ios::app
| ios::binary);
 
Each of the open member functions of classes
ofstream, ifstream and fstream has a default
mode that is used if the file is opened without
a second argument.
Closing a File:
myfile.close();
 
//To demonstrate writing and reading- using open
#include<fstream.>
#include<iostream>
 int main(){
 
//Writing
 ofstream outf;
 outf.open(“Temp2.txt”);
 outf<<“Working with files is fun\n”;
 outf<<“Writing to files is also fun\n”;
 outf.close();
 char buff[80];
 ifstream inf;
 inf.open(“Temp2.txt”);
 
//Reading
 while(inf){
 inf.getline(buff, 80);
 cout<<buff<<“\n”;
 }
 inf.close();
 return 0;}
 
Templates are very useful when implementing
generic constructs like vectors, stacks, lists, queues
which can be used with any arbitrary type.
C++ provides two kinds of templates: class templates
and function templates.
Syntax:
template
 <
class
 T>
 T someFunction(T arg)
 {
... .. ...
}
A 
class template 
is a class definition, except it is
prefixed by the keyword template.
 
#include <iostream> using namespace std;
 template <class T>
class Calculator
{
 private: T num1, num2;
 public: Calculator(T n1, T n2) { num1 = n1; num2 = n2;
}
void displayResult()
 {
cout << "Numbers are: " << num1 << " and " << num2 << "." << endl;
cout << "Addition is: " << add() << endl; cout << "Subtraction is: " << subtract() << endl;
 cout << "Product is: " << multiply() << endl; cout << "Division is: " << divide() << endl;
 }
 T add()
 { return num1 + num2; }
T subtract() { return num1 - num2; }
T multiply() { return num1 * num2; }
T divide() { return num1 / num2; } };
 
int main()
{ Calculator<int> intCalc(2, 1);
Calculator<float> floatCalc(2.4, 1.2);
cout << "Int results:" << endl;
intCalc.displayResult();
cout << endl << "Float results:" << endl; floatCalc.displayResult();
 return 0;
 }
O/P
int results: Numbers are: 2 and 1.
Addition is: 3
Subtraction is: 1
 Product is: 2
Division is: 2
 
#include <iostream> using namespace std ; //max returns the maximum of the two elements
 template <class T>
 T max(T a, T b)
{ return a > b ? a : b ; }
 void main()
 { cout << "max(10, 15) = " << max(10, 15) << endl ;
 cout << "max('k', 's') = " << max('k', 's') << endl ;
cout << "max(10.1, 15.2) = " << max(10.1, 15.2) << endl ;
 }
 
Program Output
max(10, 15) = 15
max('k', 's') = s
max(10.1, 15.2) = 15.2
 
Exceptions provide a way to react to exceptional circumstances (like runtime
errors) in programs by transferring control to special functions called 
handlers
.
EX:
// exceptions
 #include <iostream>
 using namespace std;
int main ()
 { try { throw 20; }
 catch (int e)
 {
cout << "An exception occurred. Exception Nr. " << e << '\n';
 }
 return 0;
}
A throw expression accepts one parameter (in this case the integer
value 20), which is passed as an argument to the exception handler.
Slide Note
Embed
Share

C++ streams play a crucial role in handling input/output operations by linking logical devices to physical ones. They provide a uniform interface for programmers to work with various devices efficiently. This article covers the basics of C++ streams, input/output streams, common functionalities like formatted/unformatted input operations, and the predefined objects cin and cout.

  • C++
  • Streams
  • I/O Operations
  • Programming
  • C++ Basics

Uploaded on Sep 21, 2024 | 0 Views


Download Presentation

Please find below an Image/Link to download the presentation.

The content on the website is provided AS IS for your information and personal use only. It may not be sold, licensed, or shared on other websites without obtaining consent from the author. Download presentation by click this link. If you encounter any issues during the download, it is possible that the publisher has removed the file from their server.

E N D

Presentation Transcript


  1. By M.Juno Isabel Susinthra, Asst.Professor of B.C.A, Annai Vailankanni College of Arts and Science ,Thanjavur

  2. CONTENTS: 1. Managing I/O Operations 2. Working with Files 3. Templates 4. Exception Handling

  3. C++ Streams The C++ I/O system operates through streams. A stream is logical device that either produces the same or consumes the different information. A stream is linked to a physical device by the C++ I/O system. All streams behave in the same manner, even if the actual physical devices are linked to several devices. As all streams act the same, the I/O system links the programmer with a uniform interface. C++ Streams

  4. Output stream the program and sends (writes) to the destination. Input stream data from the source and sends to the program. Output stream: If a stream takes data from Input stream: If a stream that gets (reads)

  5. Class can be used to carry out formatted and unformatted input operations. It contains the overloaded extraction (>>) operator functions. Declares input functions such get(), getline() and read(). Class istream istream :- Defines input streams that Class can be used to write data. Declares output functions put and write().The ostream class contains the overloaded insertion (<<) operator function Class ostream ostream :- Defines output streams that

  6. Cin Cin to the standard input stream. The standard input stream represents keyboard. EX: cin >> name; char name; Cout the standard output stream in C. The << operator is referred to as the insertion operator. Ex: cout << Programming in C++ ; Cin and Cin -is a predefined object that corresponds and Cout Cout objects objects Cout is a predefined object that represents

  7. Functions get and put: There are two prototypes available in C++ for get as given below: get (char *) get () EX: char ch ; AND cin.get (ch); PUT cout.put (var); Here the value of the variable var will be displayed in the console monitor.User can also display a specific character directly as given below: cout.put (var); AND cout.put ( a ); Functions get and put: get PUT has two forms as given below:

  8. A file is a bunch of bytes stored on some storage devices like hard disk, floppy disk etc. File I/O and console I/O are closely related. To create an input stream, declare an object of type ifstream. To create an output stream, declare an object of type ofstream. To create an input/output stream, declare an object of type fstream.

  9. ifstream in; fstream out; // output; fstream io; EX: void ifstream::open(const char*filename,openmode mode=ios::in); // input; // input and output void ofstream::open(const char*filename,openmode mode=ios::out | ios::trunc); void fstream::open(const char*filename,openmode mode=ios::in | ios::out);

  10. Opening File and Closing File: Opening a File: myfile.open ("example.bin", ios::out | ios::app | ios::binary); Each of the open member functions of classes ofstream, ifstream and fstream has a default mode that is used if the file is opened without a second argument. Closing a File: myfile.close();

  11. //To demonstrate writing and reading- using open #include<fstream.> #include<iostream> int main(){ ofstream outf; outf.open( Temp2.txt ); outf<< Working with files is fun\n ; outf<< Writing to files is also fun\n ; outf.close(); char buff[80]; ifstream inf; inf.open( Temp2.txt ); while(inf){ inf.getline(buff, 80); cout<<buff<< \n ; } inf.close(); return 0;} //Writing //Reading

  12. Templates are very useful when implementing generic constructs like vectors, stacks, lists, queues which can be used with any arbitrary type. C++ provides two kinds of templates: class templates and function templates. Syntax: template T someFunction(T arg) { ... .. ... } A class template prefixed by the keyword template. template <class class T> class template is a class definition, except it is

  13. #include <iostream> using namespace std; template <class T> class Calculator { private: T num1, num2; public: Calculator(T n1, T n2) { num1 = n1; num2 = n2; } void displayResult() { cout << "Numbers are: " << num1 << " and " << num2 << "." << endl; cout << "Addition is: " << add() << endl; cout << "Subtraction is: " << subtract() << endl; cout << "Product is: " << multiply() << endl; cout << "Division is: " << divide() << endl; } T add() { return num1 + num2; } T subtract() { return num1 - num2; } T multiply() { return num1 * num2; } T divide() { return num1 / num2; } };

  14. int main() { Calculator<int> intCalc(2, 1); Calculator<float> floatCalc(2.4, 1.2); cout << "Int results:" << endl; intCalc.displayResult(); cout << endl << "Float results:" << endl; floatCalc.displayResult(); return 0; } O/P int results: Numbers are: 2 and 1. Addition is: 3 Subtraction is: 1 Product is: 2 Division is: 2

  15. #include <iostream> using namespace std ; //max returns the maximum of the two elements template <class T> T max(T a, T b) { return a > b ? a : b ; } void main() { cout << "max(10, 15) = " << max(10, 15) << endl ; cout << "max('k', 's') = " << max('k', 's') << endl ; cout << "max(10.1, 15.2) = " << max(10.1, 15.2) << endl ; } Program Output max(10, 15) = 15 max('k', 's') = s max(10.1, 15.2) = 15.2

  16. Exceptions provide a way to react to exceptional circumstances (like runtime errors) in programs by transferring control to special functions called handlers. EX: // exceptions #include <iostream> using namespace std; int main () { try { throw 20; } catch (int e) { cout << "An exception occurred. Exception Nr. " << e << '\n'; } return 0; } A throw expression accepts one parameter (in this case the integer value 20), which is passed as an argument to the exception handler.

More Related Content

giItT1WQy@!-/#giItT1WQy@!-/#giItT1WQy@!-/#giItT1WQy@!-/#giItT1WQy@!-/#giItT1WQy@!-/#giItT1WQy@!-/#