0% found this document useful (0 votes)
52 views26 pages

Files in C++

File I/O in C++ allows programs to read from and write to files. A file must be opened before use and can be accessed using input/output streams. Common steps for file I/O include declaring a file stream, opening the file, performing read or write operations, and closing the file. Functions like get() and put() can read and write individual characters or bytes, while read() and write() allow block input/output.

Uploaded by

Praveen Kanthi
Copyright
© Attribution Non-Commercial (BY-NC)
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
Download as pptx, pdf, or txt
0% found this document useful (0 votes)
52 views26 pages

Files in C++

File I/O in C++ allows programs to read from and write to files. A file must be opened before use and can be accessed using input/output streams. Common steps for file I/O include declaring a file stream, opening the file, performing read or write operations, and closing the file. Functions like get() and put() can read and write individual characters or bytes, while read() and write() allow block input/output.

Uploaded by

Praveen Kanthi
Copyright
© Attribution Non-Commercial (BY-NC)
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
Download as pptx, pdf, or txt
Download as pptx, pdf, or txt
You are on page 1/ 26

File I/O in C++

Using
UsingInput/Output
Input/OutputFiles
Files
A computer file
– is stored on a secondary storage device
(e.g., disk);
– is permanent;
– can be used to provide input data to a
program or receive output data from a
program, or both;
– should reside in Project directory for easy
access;
– must be opened before it is used.
General File I/O Steps
General File I/O Steps
• Declare a file name variable
• Associate the file name variable with the
disk file name
• Open the file
• Use the file
• Close the file
Using
UsingInput/Output
Input/OutputFiles
Files
• stream - a sequence of characters
– interactive (iostream)
 cin - input stream associated with keyboard.
 cout - output stream associated with display.
– file (fstream)
 ifstream - defines new input stream (normally
associated with a file).
 ofstream - defines new output stream
(normally associated with a file).
Stream
StreamI/O
I/OLibrary
LibraryHeader
HeaderFiles
Files
• Note: There is no “.h” on standard header files :
<fstream>
• iostream -- contains basic information required for all
stream I/O operations
• iomanip -- contains information useful for performing
formatted I/O with parameterized stream manipulators
• fstream -- contains information for performing file I/O
operations
• strstream -- contains information for performing in-
memory I/O operations (i.e., into or from strings in
memory)
Classes
Classesfor
forStream
StreamI/O
I/Oin
inC++
C++

• ios is the base class.


• istream and ostream inherit from ios
• ifstream inherits from istream (and ios)
• ofstream inherits from ostream (and ios)
• iostream inherits from istream and ostream (& ios)
• fstream inherits from ifstream, iostream, and ofstream
C++
C++streams
streams
#include <fstream>
int main (void)
{
//Local declarations
ifstream fsIn;
ofstream fsOut;
.
.
.
return 0;
}
Object and Member Functions
Object and Member Functions

Stream handle Member Function


Name Name

input_stream.open("numbers.dat")

File
Calling Dot Name
Object Operator
File
FileI/O
I/OExample:
Example:Writing
Writing
#include <fstream>
using namespace std;
int main(void)
{
ofstream outFile(“fout.txt");
outFile << "Hello World!";
outFile.close();
return 0;
}
File
FileI/O
I/OExample:
Example:Writing
Writing
#include <fstream>
using namespace std;

int main(void)
{
ofstream outFile;
outFile.open(“fout.txt”);
outFile << “First line”; //behave just like cout
outFile.close();
outFile<<“Another line”<<endl; //??
return 0;
}
File
FileI/O
I/OExample:
Example:Reading
Reading
#include <iostream>
#include <fstream>

int main(void)
{
ifstream openFile(“data.txt"); //open a text file data.txt
char ch;
while(!OpenFile.eof())
{
OpenFile.get(ch);
cout << ch;
}
OpenFile.close();

return 0;
}
File I/O Example: Reading
File I/O Example: Reading
#include <iostream>
#include <fstream>
#include <string>

int main(void)
{
ifstream openFile(“data.txt"); //Declare and open a text file
string line;

while(!openFile.eof())
{
getline(openFile,line);//fetch line from data.txt and put it in a string
cout << line;
}
openFile.close();
return 0;
}
File
FileI/O
I/OExample:
Example:Reading
Reading
#include <iostream>
#include <fstream>
#include <string>

int main(void)
{
ifstream openFile(“data.txt"); //open a text file data.txt
string line;

if(openFile.is_open()){ //
while(!openFile.eof()){
getline(openFile,line);//read a line from data.txt and put it in a string
cout << line;
}
else{
cout<<“File does not exist!”<<endl;
exit(1);}
}
openFile.close();
return 0;
}
More
MoreInput
InputFile-Related
File-RelatedFunctions
Functions
• ifstream fsin;
• fsIn.open(const char[] fname)
– connects stream fsIn to the external file
fname.
• fsIn.get(char& character)
– extracts next character from the input stream
fsIn and places it in the character variable
character.
• fsIn.eof()
– tests for the end-of-file condition.
More
MoreOutput
OutputFile-Related
File-RelatedFunctions
Functions
• ofstream fsOut;
• fsOut.open(const char[] fname)
– connects stream fsOut to the external file
fname.
• fsOut.put(char character)
– inserts character character to the output
stream fsOut.
• fsOut.eof()
– tests for the end-of-file condition.
File
FileOpen
OpenMode
Mode
Name Description
ios::in Open file to read
ios::out Open file to write
ios::app All the date you write, is put at the end of the file.
It calls ios::out
ios::ate All the date you write, is put at the end of the file.
It does not call ios::out
ios::trunc Deletes all previous content in the file. (empties
the file)
ios::nocreate If the file does not exists, opening it with the
open() function gets impossible.
ios::noreplace If the file exists, trying to open it with the open()
function, returns an error.
ios::binary Opens the file in binary mode.
File Open Mode
File Open Mode
#include <fstream>
int main(void)
{
ofstream outFile("file1.txt", ios::out);
outFile << "That's new!\n";
outFile.close();
Return 0;
}

If you want to set more than one open mode, just use the OR
operator- |. This way:

ios::ate | ios::binary
Dealing
Dealingwith
withBinary
Binaryfiles
files
• Functions for binary file handling
get(): read a byte and point to the next byte to read
put(): write a byte and point to the next location for write
read(): block reading
write(): block writing
Dealing with Binary files
Dealing with Binary files
• Some useful functions
seekg():Go to a specific position when reading
seekp():Go to a specific position when writing
tellg(): Retunrs an int type, that shows the current position of the
inside-pointer. This one works only when you read a file.
tellp(): The same as tellg() but used when we write in a file.
flush():Save data from the buffer to the output file.
Binary File I/O Examples
Binary File I/O Examples
//Example 1: Using get() and put()
#include <iostream>
#include <fstream>
void main()
{
fstream File("test_file",ios::out | ios::in | ios::binary);
char ch;
ch='o';
File.put(ch); //put the content of ch to the file
File.seekg(ios::beg); //go to the beginning of the file
File.get(ch); //read one character
cout << ch << endl; //display it
File.close();
}
Binary
BinaryFile
FileI/O
I/OExamples
Examples
//Example 2: Using read() and write()

#include <fstream.h>
#include <string.h>
void main()
{
fstream File("test_file.txt",ios::out | ios::in | ios::binary);
char arr[13];
strcpy(arr,"Hello World!"); //put Hello World! into the array
File.write(arr,5); //put the first 5 symbols into the file- "Hello"
File.seekg(ios::beg); //go to the beginning of the file
static char read_array[10]; //I will put the read data, here
File.read(read_array,3); //read the first 3 symbols- "Hel"
cout << read_array << endl; //display them
File.close();
}
More
MoreBinary
BinaryFile
FileI/O
I/OExamples
Examples

#include <fstream>
void main()
{
//if we have "Hello" in test_file.txt
ifstream File("test_file.txt");
char arr[10];
File.read(arr,10);

//this should return 5, as Hello is 5 characters long


cout << File.tellg() << endl;
File.close();
}
Summary
Summaryof ofInput
Input
File-Related Functions
File-Related Functions
#include <fstream>
ifstream fsIn;
• fsIn.open(const char[] fname)
– connects stream fsIn to the external file fname.
• fsIn.get(char& c)
– extracts next character from the input stream fsIn and
places it in the character variable c.
• fsIn.eof()
– tests for the end-of-file condition.
• fsIn.close()
– disconnects the stream and associated file.
• fsIn >> c; //Behaves just like cin
Summary
Summaryof ofOutput
Output
File-Related Functions
File-Related Functions
#include <fstream>
ofstream fsOut;
• fsOut.open(const char[] fname)
– connects stream fsOut to the external file fname.
• fsOut.put(char c)
– inserts character c to the output stream fsOut.
• fsOut.eof()
– tests for the end-of-file condition.
• fsOut.close()
– disconnects the stream and associated file.
• fsOut << c; //Behaves just like cout
Questions ? ?
Thank You…
Presented By:
Pranav Gurjer
Prasad Kulkarni
Praveen Kanthi

You might also like