C++

Topic: I/o operations

Explain about Binary files in i/o ?

In binary files, to input and output data with the extraction and insertion operators (<< and >>) and functions like getline is not efficient, since we do not need to format any data, and data may not use the separation codes used by text files to separate elements (like space, newline, etc...).File streams include two member functions specifically designed to input and output binary data sequentially: write and read. The first one (write) is a member function of ostream inherited by ofstream. And read is a member function of istream that is inherited by ifstream. Objects of class fstream have both members. Their prototypes are:write ( memory_block, size );read ( memory_block, size );Where memory_block is of type "pointer to char" (char*), and represents the address of an array of bytes where the read data elements are stored or from where the data elements to be written are taken. The size parameter is an integer value that specifies the number of characters to be read or written from/to the memory block.// reading a complete binary file#include <iostream>#include <fstream>using namespace std;ifstream::pos_type size;char * memblock;int main () {  ifstream file ("example.bin", ios::in|ios::binary|ios::ate);  if (file.is_open())  {    size = file.tellg();    memblock = new char [size];    file.seekg (0, ios::beg);    file.read (memblock, size);    file.close();    cout << "the complete file content is in memory";    delete[] memblock;  }  else cout << "Unable to open file";  return 0;}output : the complete file content is in memoryIn this example the entire file is read and stored in a memory block. Let's examine how this is done:First, the file is open with the ios::ate flag, which means that the get pointer will be positioned at the end of the file. This way, when we call to member tellg(), we will directly obtain the size of the file. Notice the type we have used to declare variable size:ifstream::pos_type size;ifstream::pos_type is a specific type used for buffer and file positioning and is the type returned by file.tellg(). This type is defined as an integer type, therefore we can conduct on it the same operations we conduct on any other integer value, and can safely be converted to another integer type large enough to contain the size of the file. For a file with a size under 2GB we could use int:int size;size = (int) file.tellg();Once we have obtained the size of the file, we request the allocation of a memory block large enough to hold the entire file:memblock = new char[size];Right after that, we proceed to set the get pointer at the beginning of the file (remember that we opened the file with this pointer at the end), then read the entire file, and finally close it:file.seekg (0, ios::beg);file.read (memblock, size);file.close();At this point we could operate with the data obtained from the file. Our program simply announces that the content of the file is in memory and then terminates.

Browse random answers:

What are Basic Input/Output ?
How to write c++ program to write a message to the screen?
Why do we need to close a file.Eg.ifstream ifile;ifile.open("temp.dat").....ifile.close();What happens if we do not close() a file?
Can we make any program in c++ without using any header file and what is the shortest program in c++.?
Bitwise Operations - Given inputs X, Y, Z and operations | and & (meaning bitwise OR and AND, respectively), what is output equal to in?
What is the output of printf ("%d")
What will be output of the following code ?#includeusing namespace std;class abc{public :void main(){cout<<" Its main function "< }};int main(int c, char **v){abc a;if(c<1){cout<<" Error can not accept it "< exit(1);}cout<<" its in main program "< a.main();return 0;}
Write a C++ program that uses a loop to sum ten numbers read from the standard input, and then writes the sum to the standard output ?
How to write a code for replacing a character with astrick sign?
Explain about File I/O ?
Input output fuction in c plus plus?
How do you write a program which produces its own source code as its output?
Is it possible to have different access modifiers on the get/set methods of a property?
Explainabout Standard input and output ?
I was creating a program that has a 2 dimensional array with 25 elements.How can I display the highest row sum?lowest row sum?highest col sum?lowest row sum?
HOW TO READ TEXT FILE AND READ IT INTO ANOTHER TEXT FILE?
Write a C++ program that includes two functions ?
What are the different formats specifiers available for input and output statements ?
Explain about Standard Output (cout) ?
Explain about Input/Output with files ?
How to Open a file in input and output ?
How to Closing a file in i/o ?
How to Text files in i/o ?
How to Checking state flags in i/o ?
How to get and put stream pointers in i/o ?
Explain about Binary files in i/o ?
What are Header files i/o ?
How to getting a stream in i/o ?
How to Passing streams to functions in i/o ?
What are Item by item input and output ?
What are Other input operations ?
What are Repositioning and error states in i/o ?
What are standard error stream in i/o ?
standard log stream (clog) in i/o ?
How to Formatted Input/Output ?
Explain about cstdio (stdio.h) ?
Write a Text File  in i/o ?
How to Monitor File System Changes in i/o ?
Explain about extending the I/O System
How to  Enumerate Files in a Directory  in i/o ?
What are I/O Modes ?