File IO in C++ (ppt)

Views:
 
     
 

Presentation Description

How to use in C++ with files

Comments

By: justupol_0534 (25 month(s) ago)

tnXZ....

By: md5464 (29 month(s) ago)

i want to download this......kindly allow .....

By: raju2sam (32 month(s) ago)

plese upload more ppt.i want to download it

By: puneetmisra (37 month(s) ago)

indeed good work done for masses

By: kien16 (37 month(s) ago)

good for everybody

See all

Presentation Transcript

File I/O in C++: 

File I/O in C++

Using Input/Output Files : 

Using Input/Output 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 Input/Output Files : 

Using Input/Output 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 I/O Library Header Files: 

Stream I/O Library Header 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)

Slide6: 

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 Classes for Stream I/O in C++

Slide7: 

C++ streams #include <fstream> int main (void) { //Local declarations ifstream fsIn; ofstream fsOut; . . . return 0; }

Object and Member Functions : 

input_stream.open("numbers.dat") Stream handle Name Calling Object Dot Operator Member Function Name File Name Object and Member Functions

File I/O Example: Writing: 

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

File I/O Example: Writing: 

File I/O Example: 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 I/O Example: Reading: 

File I/O Example: 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 I/O Example: Reading: 

File I/O Example: 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 Input File-Related Functions : 

More Input File-Related 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 Output File-Related Functions : 

More Output File-Related 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 Open Mode: 

File Open 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 with Binary files: 

Dealing with Binary 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 File I/O Examples: 

Binary File I/O 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 Binary File I/O Examples: 

More Binary File I/O 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 of InputFile-Related Functions : 

Summary of Input 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 of OutputFile-Related Functions : 

Summary of Output 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