FILE HANDLING IN
C++
Files (Streams)
Files are used to store data in a relatively
permanent form, on floppy disk, hard disk,
tape or other form of secondary storage.
Files can hold huge amounts of data if need
be. Ordinary variables (even records and
arrays) are kept in main memory which is
temporary and rather limited in size. The
following is a comparison of the two types
of storage:
Main memory
 Made up of RAM chips.
 Used to hold a program
when it is running,
including the values of its
variables (whether
integer, char, an array,
etc.)
 Can only hold relatively
small amounts of data.
 Is temporary (as soon as
the program is done or the
power goes out all of
these values are gone).
 Gives fast access to the
data (all electronic).
Secondary memory
 Usually a disk drive (or magnetic
tape).
 Used to hold files (where a file
can contain data, a program, text,
etc.)
 Can hold rather large amounts of
data.
 Is fairly permanent. (A file
remains even if the power goes
out. It will last until you erase it,
as long as the disk isn't damaged,
at least.)
• Access to the data is
considerably slower (due to
moving parts).
C++ STREAMS
A Stream is a general name given to flow of
data.
Different streams are used to represent
different kinds of data flow.
Each stream is associated with a particular
class, which contains member functions and
definitions for dealing with that particular
kind of data flow.
Flow of Data….
PROGRAM
DEVICES OR
FILES
Input
Stream
>>
Output
Stream
<<
Data
Data
istream class ostream class
(Insertion
operator)
(Extraction
operator)
The following classes in C++
have access to file input and
output functions:
ifstream
ofstream
fstream
The Stream Class Hierarchy
ios
istream
get()
getline()
read()
>>
ostream
put()
write()
<<
fstreambase
iostream
Ifstream
Open()
Tellg()
Seekg()
Ofstream
Open()
Tellp()
Seekp()
fstream
NOTE : UPWARD ARROWS INDICATE
THE BASE CLASS
DIFFERENT FILE OPERATIONS
OPENING A FILE
CLOSING A FILE
READING FROM A FILE
WRITING ON A FILE
CHECKING FOR END OF FILE
OPENING A FILE
1. By using the CONSTRUCTOR of the
stream class.
ifstream transaction(“sales.dly”);
ofstream result(“result.02”);
2. By using the open() function of the stream
class
ifstream transaction;
transaction.open(“sales.dly”);
(Associating a stream with a file)
File Mode Parameters
PARAMETER MEANING
Ios::app Append to end-of file
Ios::ate goto end of file on opening
Ios::binary binary file
Ios::in Open existing file for reading
Ios::nocreate open fails if file doesn’t exist
Ios::noreplace open fails if file already exists
Ios::out creates new file for writing on
Ios::trunc Deletes contents if it exists
The mode can combine two or more modes using bit wise
or ( | )
Checking For Successful File Opening
ifstream transaction(“sales.dly”);
if (transcation == NULL)
{
cout<<“unable to open sales.dly”;
cin.get(); // waits for the operator to press any key
exit(1);
}
Closing of File
Stream_name.close();
e.g., transaction.close();
Types of Files
. The two basic types are
– text and
– binary.
A text file consists of readable characters
separated into lines by newline characters.
(On most PCs, the newline character is
actually represented by the two-character
sequence of carriage return (ASCII 13), line
feed (ASCII 10).
A binary file stores data to disk in the same
form in which it is represented in main
memory.
If you ever try to edit a binary file containing
numbers you will see that the numbers
appear as nonsense characters. Not having to
translate numbers into a readable form makes
binary files somewhat more efficient.
Binary files also do not normally use
anything to separate the data into lines. Such
a file is just a stream of data with nothing in
particular to separate components.
When using a binary file we write whole
record data to the file at once. When using a
text file, we write out separately each of the
pieces of data about a given record.
The text file will be readable by an editor,
but the numbers in the binary file will not
be readable in this way.
The programs to create the data files will
differ in how they open the file and in how
they write to the file.
For the binary file we will use write to
write to the file, whereas for the text file we
will use the usual output operator(<<) and
will output each of the pieces of the record
separately.
With the binary file we will use the read
function to read a whole record, but with
the text file we will read each of the pieces
of record from the file separately, using the
usual input operator(>>)
EXAMPLES
 Creation of a text file
:
Sequential access. With this type of file
access one must read the data in order,
much like with a tape, whether the data is
really stored on tape or not.
Random access (or direct access). This
type of file access lets you jump to any
location in the file, then to any other, etc.,
all in a reasonable amount of time.
Types of File Access
FILE POINTERS
FILE POINTERS
Each file object has two integer values
associated with it :
– get pointer
– put pointer
These values specify the byte number in the
file where reading or writing will take
place.
File pointers…..
By default reading pointer is set at the
beginning and writing pointer is set at the
end (when you open file in ios::app mode)
There are times when you must take control
of the file pointers yourself so that you can
read from and write to an arbitrary location
in the file.
Functions associated with file
pointers :
The seekg() and tellg() functions allow you
to set and examine the get pointer.
The seekp() and tellp() functions allow you
to set and examine the put pointer.
seekg() function :
With one argument :
seekg(k) where k is absolute position from
the beginning. The start of the file is byte 0
Begin File End
k bytes ^
File pointer
The seekg() function with one argument
seekg() function :
With two arguments :
the first argument represents an offset from a particular
location in the file.
the second specifies the location from which the offset is
measured.
Begin End
^
Offset from Begin
The seekg() function with two argument
seekg() function :
With two arguments :
Begin End
^
Offset from Begin
The seekg() function with two argument
^
^
Offset from end
Offset from current
position
//
#include <fstream.h>
#include <conio.h>
#include <stdio.h>
void main()
{
//clrscr();
char c,d,ans;
char str[80];
ofstream outfl("try.txt"),out("cod.dat");
ifstream infl;
do
{ cout<<"please give the string : ";
gets(str);
outfl<<str;
cout <<"do you want to write more...<y/n> : ";
ans=getch();
}
while(ans=='y');
outfl<<'0';
outfl.close();
//clrscr();
getch();
cout <<"reading from created file n";
infl.open("try.txt");
out.open("cod.dat");
//**********************************
c=infl.get();
do
{ d=c+1;
cout<<c<<d<<'n';
out.put(d);
c= infl.get();
}
while (c!='0');
out<<'0';
infl.close();
outfl.close();
getch();
//*********************************
}
Filepointers1 1215104829397318-9

More Related Content

PPT
Filehandlinging cp2
PDF
Filehadnling
PPTX
Data file handling in c++
PPTX
working with files
PPSX
Files in c++
Filehandlinging cp2
Filehadnling
Data file handling in c++
working with files
Files in c++

What's hot (20)

DOCX
File handling in c++
PPTX
File handling in c++
PPT
File Handling In C++(OOPs))
PPT
File handling in C++
PPTX
Data file handling in python reading & writing methods
PPTX
Files in c++
PDF
File and directories in python
PDF
Python programming : Files
PPTX
Files and file objects (in Python)
PDF
C++ Files and Streams
PPTX
File handling
PPTX
File handling in Python
PPT
17 files and streams
PPT
working file handling in cpp overview
DOCX
python file handling
PPT
File in cpp 2016
PPT
Unit5 C
PPT
Cpp file-handling
PDF
Basics of files and its functions with example
File handling in c++
File handling in c++
File Handling In C++(OOPs))
File handling in C++
Data file handling in python reading & writing methods
Files in c++
File and directories in python
Python programming : Files
Files and file objects (in Python)
C++ Files and Streams
File handling
File handling in Python
17 files and streams
working file handling in cpp overview
python file handling
File in cpp 2016
Unit5 C
Cpp file-handling
Basics of files and its functions with example
Ad

Similar to Filepointers1 1215104829397318-9 (20)

PPT
new pdfrdfzdfzdzzzzzzzzzzzzzzzzzzzzzzzzzzgggggggggggggggggggggggggggggggggggg...
PPTX
File Handling
PDF
Data file handling
PPTX
Basics of file handling
PPTX
basics of file handling
PPT
File handling in_c
PPT
file_handling_in_c.ppt......................................
PPT
file_handling_in_c.pptbbbbbbbbbbbbbbbbbbbbb
PPTX
File Management and manipulation in C++ Programming
PPTX
File management in C++
PDF
Files in C++.pdf is the notes of cpp for reference
PPTX
Python-FileHandling.pptx
PDF
23CS101T PSPP python program - UNIT 5.pdf
PPTX
file handling in python using exception statement
PDF
file_c.pdf
PPTX
files concept in c program which is very use full
PPTX
FILE HANDLING COMPUTER SCIENCE -FILES.pptx
PPTX
VKS-Python-FIe Handling text CSV Binary.pptx
PDF
10301032-230705131251-299420ab.pdfile handling
PPTX
File Handling in c++
new pdfrdfzdfzdzzzzzzzzzzzzzzzzzzzzzzzzzzgggggggggggggggggggggggggggggggggggg...
File Handling
Data file handling
Basics of file handling
basics of file handling
File handling in_c
file_handling_in_c.ppt......................................
file_handling_in_c.pptbbbbbbbbbbbbbbbbbbbbb
File Management and manipulation in C++ Programming
File management in C++
Files in C++.pdf is the notes of cpp for reference
Python-FileHandling.pptx
23CS101T PSPP python program - UNIT 5.pdf
file handling in python using exception statement
file_c.pdf
files concept in c program which is very use full
FILE HANDLING COMPUTER SCIENCE -FILES.pptx
VKS-Python-FIe Handling text CSV Binary.pptx
10301032-230705131251-299420ab.pdfile handling
File Handling in c++
Ad

Recently uploaded (20)

PDF
Sumer, Akkad and the mythology of the Toradja Sa'dan.pdf
PPTX
Introduction to Immunology (Unit-1).pptx
PDF
Microplastics: Environmental Impact and Remediation Strategies
PDF
The Future of Telehealth: Engineering New Platforms for Care (www.kiu.ac.ug)
PDF
Micro 4 New.ppt.pdf thesis main microbio
PPTX
Cutaneous tuberculosis Dermatology
PPTX
Introduction of Plant Ecology and Diversity Conservation
PPTX
diabetes and its complications nephropathy neuropathy
PDF
Exploring PCR Techniques and Applications
PDF
CHEM - GOC general organic chemistry.ppt
PDF
Geothermal Energy: Unlocking the Earth’s Heat for Power (www.kiu.ac.ug)
PDF
Telemedicine: Transforming Healthcare Delivery in Remote Areas (www.kiu.ac.ug)
PDF
ECG Practice from Passmedicine for MRCP Part 2 2024.pdf
PPTX
Toxicity Studies in Drug Development Ensuring Safety, Efficacy, and Global Co...
PPTX
Thyroid disorders presentation for MBBS.pptx
PPT
ecg for noob ecg interpretation ecg recall
PDF
Traditional Healing Practices: A Model for Integrative Care in Diabetes Mana...
PDF
No dilute core produced in simulations of giant impacts on to Jupiter
PPTX
Spectroscopy techniques in forensic science _ppt.pptx
PPTX
The Female Reproductive System - Grade 10 ppt
Sumer, Akkad and the mythology of the Toradja Sa'dan.pdf
Introduction to Immunology (Unit-1).pptx
Microplastics: Environmental Impact and Remediation Strategies
The Future of Telehealth: Engineering New Platforms for Care (www.kiu.ac.ug)
Micro 4 New.ppt.pdf thesis main microbio
Cutaneous tuberculosis Dermatology
Introduction of Plant Ecology and Diversity Conservation
diabetes and its complications nephropathy neuropathy
Exploring PCR Techniques and Applications
CHEM - GOC general organic chemistry.ppt
Geothermal Energy: Unlocking the Earth’s Heat for Power (www.kiu.ac.ug)
Telemedicine: Transforming Healthcare Delivery in Remote Areas (www.kiu.ac.ug)
ECG Practice from Passmedicine for MRCP Part 2 2024.pdf
Toxicity Studies in Drug Development Ensuring Safety, Efficacy, and Global Co...
Thyroid disorders presentation for MBBS.pptx
ecg for noob ecg interpretation ecg recall
Traditional Healing Practices: A Model for Integrative Care in Diabetes Mana...
No dilute core produced in simulations of giant impacts on to Jupiter
Spectroscopy techniques in forensic science _ppt.pptx
The Female Reproductive System - Grade 10 ppt

Filepointers1 1215104829397318-9

  • 2. Files (Streams) Files are used to store data in a relatively permanent form, on floppy disk, hard disk, tape or other form of secondary storage. Files can hold huge amounts of data if need be. Ordinary variables (even records and arrays) are kept in main memory which is temporary and rather limited in size. The following is a comparison of the two types of storage:
  • 3. Main memory  Made up of RAM chips.  Used to hold a program when it is running, including the values of its variables (whether integer, char, an array, etc.)  Can only hold relatively small amounts of data.  Is temporary (as soon as the program is done or the power goes out all of these values are gone).  Gives fast access to the data (all electronic). Secondary memory  Usually a disk drive (or magnetic tape).  Used to hold files (where a file can contain data, a program, text, etc.)  Can hold rather large amounts of data.  Is fairly permanent. (A file remains even if the power goes out. It will last until you erase it, as long as the disk isn't damaged, at least.) • Access to the data is considerably slower (due to moving parts).
  • 4. C++ STREAMS A Stream is a general name given to flow of data. Different streams are used to represent different kinds of data flow. Each stream is associated with a particular class, which contains member functions and definitions for dealing with that particular kind of data flow.
  • 5. Flow of Data…. PROGRAM DEVICES OR FILES Input Stream >> Output Stream << Data Data istream class ostream class (Insertion operator) (Extraction operator)
  • 6. The following classes in C++ have access to file input and output functions: ifstream ofstream fstream
  • 7. The Stream Class Hierarchy ios istream get() getline() read() >> ostream put() write() << fstreambase iostream Ifstream Open() Tellg() Seekg() Ofstream Open() Tellp() Seekp() fstream NOTE : UPWARD ARROWS INDICATE THE BASE CLASS
  • 8. DIFFERENT FILE OPERATIONS OPENING A FILE CLOSING A FILE READING FROM A FILE WRITING ON A FILE CHECKING FOR END OF FILE
  • 9. OPENING A FILE 1. By using the CONSTRUCTOR of the stream class. ifstream transaction(“sales.dly”); ofstream result(“result.02”); 2. By using the open() function of the stream class ifstream transaction; transaction.open(“sales.dly”); (Associating a stream with a file)
  • 10. File Mode Parameters PARAMETER MEANING Ios::app Append to end-of file Ios::ate goto end of file on opening Ios::binary binary file Ios::in Open existing file for reading Ios::nocreate open fails if file doesn’t exist Ios::noreplace open fails if file already exists Ios::out creates new file for writing on Ios::trunc Deletes contents if it exists The mode can combine two or more modes using bit wise or ( | )
  • 11. Checking For Successful File Opening ifstream transaction(“sales.dly”); if (transcation == NULL) { cout<<“unable to open sales.dly”; cin.get(); // waits for the operator to press any key exit(1); }
  • 13. Types of Files . The two basic types are – text and – binary. A text file consists of readable characters separated into lines by newline characters. (On most PCs, the newline character is actually represented by the two-character sequence of carriage return (ASCII 13), line feed (ASCII 10).
  • 14. A binary file stores data to disk in the same form in which it is represented in main memory. If you ever try to edit a binary file containing numbers you will see that the numbers appear as nonsense characters. Not having to translate numbers into a readable form makes binary files somewhat more efficient. Binary files also do not normally use anything to separate the data into lines. Such a file is just a stream of data with nothing in particular to separate components.
  • 15. When using a binary file we write whole record data to the file at once. When using a text file, we write out separately each of the pieces of data about a given record. The text file will be readable by an editor, but the numbers in the binary file will not be readable in this way. The programs to create the data files will differ in how they open the file and in how they write to the file.
  • 16. For the binary file we will use write to write to the file, whereas for the text file we will use the usual output operator(<<) and will output each of the pieces of the record separately. With the binary file we will use the read function to read a whole record, but with the text file we will read each of the pieces of record from the file separately, using the usual input operator(>>)
  • 18. : Sequential access. With this type of file access one must read the data in order, much like with a tape, whether the data is really stored on tape or not. Random access (or direct access). This type of file access lets you jump to any location in the file, then to any other, etc., all in a reasonable amount of time. Types of File Access
  • 20. FILE POINTERS Each file object has two integer values associated with it : – get pointer – put pointer These values specify the byte number in the file where reading or writing will take place.
  • 21. File pointers….. By default reading pointer is set at the beginning and writing pointer is set at the end (when you open file in ios::app mode) There are times when you must take control of the file pointers yourself so that you can read from and write to an arbitrary location in the file.
  • 22. Functions associated with file pointers : The seekg() and tellg() functions allow you to set and examine the get pointer. The seekp() and tellp() functions allow you to set and examine the put pointer.
  • 23. seekg() function : With one argument : seekg(k) where k is absolute position from the beginning. The start of the file is byte 0 Begin File End k bytes ^ File pointer The seekg() function with one argument
  • 24. seekg() function : With two arguments : the first argument represents an offset from a particular location in the file. the second specifies the location from which the offset is measured. Begin End ^ Offset from Begin The seekg() function with two argument
  • 25. seekg() function : With two arguments : Begin End ^ Offset from Begin The seekg() function with two argument ^ ^ Offset from end Offset from current position
  • 26. // #include <fstream.h> #include <conio.h> #include <stdio.h> void main() { //clrscr(); char c,d,ans; char str[80]; ofstream outfl("try.txt"),out("cod.dat"); ifstream infl; do { cout<<"please give the string : "; gets(str); outfl<<str; cout <<"do you want to write more...<y/n> : "; ans=getch(); } while(ans=='y'); outfl<<'0'; outfl.close(); //clrscr(); getch(); cout <<"reading from created file n"; infl.open("try.txt"); out.open("cod.dat"); //********************************** c=infl.get(); do { d=c+1; cout<<c<<d<<'n'; out.put(d); c= infl.get(); } while (c!='0'); out<<'0'; infl.close(); outfl.close(); getch(); //********************************* }