Data Structure
Networking
RDBMS
Operating System
Java
MS Excel
iOS
HTML
CSS
Android
Python
C Programming
C++
C#
MongoDB
MySQL
Javascript
PHP
- Selected Reading
- UPSC IAS Exams Notes
- Developer's Best Practices
- Questions and Answers
- Effective Resume Writing
- HR Interview Questions
- Computer Glossary
- Who is Who
What is the difference between iostream and iostream.h in C++?
Both <iostream> and <iostream.h> are the header files of C++ language. The .h extension was common in older, non-standard implementations like Turbo C++. The <iostream.h>
The <iostream.h> Header File
The iostream.h header file was part of the early 1990s I/O streams library, developed at AT&T for use with early C++. At that time, C++ was not yet standardized. The purpose of this header file is used to perform the input-output operations.
Example
Following is an example of iostream.h as per Turbo C compiler:
#include<iostream.h>
#include<conio.h>
void main() {
// Clears the screen
clrscr();
int str = "Tutorialspoint";
cout << str << endl;
// wait for key press
getch();
}
The above code produces the following result:
Tutorialspoint
Note: In user input case, you can use cin >> var_name; to take an input from the user.
The <iostream> Header File
The iostream header file is part of the C++ standard library, it was first introduced in 1998 and provides the definition of standard Input/Output related streams and functions.
By using this header, you can use a standard namespace (std) that represents a group of standard library components, classes, functions, and other identifiers.
Example
In this example, we use iostream header file to see its standard usage.
#include<iostream>
using namespace std;
int main() {
string str = "Tutorialspoint";
cout << str << endl;
return 0;
}
The above code produces the following result:
Tutorialspoint
Difference Between <iostream> and <iostream.h>
Here, we provide the tabular differences of both header files based on standardized and non-standardized as follows:
| <iostream.h> | <iostream> |
|---|---|
| .h is the extension of the header file for ANSI standard. | There is no need for an extension for modern C++ standards. |
| There is no use of std namespace. | There is a use of std namespace. |
| It is used in older compilers like Turbo C. | The modern compiler recommended this for C++ development. |
| The implementation of this header file is based on AT&T C++ streams. | This header file was implemented based on the C++ standard in 1998. |
| It may lack an error-handling mechanism. | It uses standard error handling (std::ios::failure). |
| This header file shows inconsistencies with function overloading. | It supports proper function overloading as per C++ standard. |