1 / 23

Files

Files. Files. Stream Stream is a sequence of bytes Input stream In input operations, the bytes are transferred from a device to the main memory Output stream The bytes are transferred from main memory to a device such as (display screen, printer, disk, n/w…). Files. Stream

toviel
Télécharger la présentation

Files

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Files

  2. Files Stream Stream is a sequence of bytes Input stream In input operations, the bytes are transferred from a device to the main memory Output stream The bytes are transferred from main memory to a device such as (display screen, printer, disk, n/w…)

  3. Files Stream C++ contains different pre defined stream that automatically opened when a program begins its execution. Such as cin, cout …. Cin represents input stream connect to input devices (object of istream) Cout represents output stream connect to output devices (object of ostream)

  4. Files • Opening and Closing a File • In C++, to open a file by linking it to a stream. • There are three types of streams: input, output, and input/output. • To create an input stream, declare the stream to be of class ifstream. • To create an output stream, declare it as class ofstream. • Streams that will be performing both input and output operations must be declared as class fstream. • For example, this fragment creates one input stream, one output stream, and one stream capable of both input and output: • ifstream in; // input • ofstream out; // output • fstreamio; // input and output

  5. Files A file can be opened in two ways • Using constructor function • Using the member function open() First method is useful when we se only one file Second method used to manage multiple files

  6. Files File opening using constructor Constructor -> used to initialized an object. Here filename is used to initialize the file stream This can be done • Create a file stream object to manage the stream (ieofstream or from ifstream) • Initialize the file object with filename Eg: ofstream o (“popo.txt”); open a file named popo.txt for output

  7. Files ofstream o (“popo.txt”); This create o as an ofstream object, to manage output stream. This statement opene the file popo.txt an attaches to output stream Input stream example Ifstreami(“popo.txt”);

  8. Files To close the file o.close(); i.close();

  9. Files File opening using constructor #include<iostream.h> #include<conio.h> #include<fstream.h> void main() { ofstream o("popo.txt"); cout<<"Enter"; char name[20]; cin>>name; o<<name; o.close(); ifstreami("popo.txt"); i>>name; cout<<name; i.close(); }

  10. Files 2) Using the member function open() Open() fun is used to open multiple files Syn File_stream_class stream object; Stream object.open(“file name”); Eg Ofstreamoutfile; Outfile.open(“popo.txt”); Outfile.close(); Outfile.open(“check.txt”); Outfile.close();

  11. Files • getline( ) • Function that performs input is getline() . • It is a member of each input stream class. • getline(char array, streamsize num); • getline(char array, streamsize num, char delim); • The first form reads characters into the array • characters have been read, a newline character has been found, or the end of the file has been encountered. • The second form reads characters into the array • the character specified by delim has been found, or the end of the file has been encountered. • If the delimiter character is encountered in the input stream, it is extracted, but is not put into array.

  12. Files char s[20]; while(!fin.eof()) { fin.getline(s,20); cout<<s<<"\n"; } fin.close(); fin.open(“check.txt"); while(!fin.eof()) { fin.getline(s,20); cout<<s<<"\n"; } fin.close(); getch(); } #include<conio.h> #include<iostream.h> #include<fstream.h> void main() { ofstreamfout; fout.open("popo.txt"); fout<<"popo"; fout<<"peepe"; fout.close(); fout.open("check.txt"); fout<<"looky"; fout<<"zappy"; fout.close(); ifstream fin; fin.open("popo.txt");

  13. Files Copy one file to another fout.close(); fout.open("check.txt"); fin.open("popo.txt"); while(!fin.eof()) { fin.getline(s,20); fout<<s<<"\n"; } fin.close(); fout.close(); getch(); } #include<conio.h> #include<iostream.h> #include<fstream.h> void main() { ofstreamfout; ifstream fin; fout.open("popo.txt"); char s[20]; inti; for(i=1;i<=10;i++) { fout<<"popo"<<i<<"\n"; }

  14. Files The open() function  to create new file/ open existing file Open() fun can take two arguments file name and file mode Open(“filename”,mode); • filename is the name of the file; it can include a path specifier. • The value of mode determines how the file is opened. • It must be one or more of the following • ios::app • ios::ate • ios::binary • ios::in • ios::out • ios::trunc combine two or more of these values by ORing them together

  15. Files • ofstream out; • out.open("test", ios::out);

  16. Files File pointers Each files having 2 pointers • Input pointer (get pointer) • Output pointer (put pointer) Get pointer  used to reading contents of given file location Output pointer for writing to a given file location Both pointer increments automatically while reading and writing

  17. Files When a file open in read mode  get pointer points to BOF When a file open in write mode  put pointer points to BOF and delete existing contents When a file open in append mode  put pointer points to the EOF The file stream class support different functions to control the movements of the get and put pointers

  18. Files Ofstreamfout; Fout.open(“check.txt”,ios::app); Cout<<“put pointer position”<<fout.tellp(); Seekg()& Seekp()

  19. Files Offset no of bytes to move Position takes 3 values Eg: fout.seekg(0,ios::beg);Goto Start Fout.seekg(2,ios::cur);move 2 bytes forward from current position Fout.seekg(-2,ios::end);move 2 bytes backword from EOF

  20. Files Seekg() #include<conio.h> #include<iostream.h> #include<fstream.h> void main() { ofstreamfout; ifstream fin; fout.open("popo.txt",ios::out); char s[20]; inti; for(i=1;i<=10;i++) fout<<"popo"<<i<<"\n"; fout.close(); fin.open("popo.txt",ios::in); while(!fin.eof()) { fin.seekg(2,ios::cur); fin.getline(s,20); cout<<s<<"\n"; } fin.close(); getch(); }

  21. Files put( ) and get( ) • get() willread a character and • put() will write a character. • #include<conio.h> • #include<iostream.h> • #include<fstream.h> • void main() • { • fstream file; • file.open("p.txt",ios::out|ios::in); • inti;char s[20]="popo and peepe",c; • for(i=0;i<=10;i++) • file.put(s[i]); • file.seekg(0,ios::beg); • while(!file.eof()) • { file.get(c); • cout<<c; • } • file.close(); • getch(); • }

  22. Files Read() and write() For reading and writing block of data Syn Infile.read((char *) & v,sizeof(v)); outfile.write((char *) & v,sizeof(v));

  23. Files void main() { clrscr(); check c[20]; inti,n; cout<<"enter limit ";cin>>n; fstream file("popo.txt",ios::in|ios::out); for(i=0;i<n;i++) { c[i].getdata(); file.write((char*)& c[i],sizeof(c[i])); } file.seekg(0,ios::beg); for(i=0;i<n;i++) { file.read((char *) & c[i],sizeof(c[i])); c[i].putdata(); } file.close(); getch(); } #include<conio.h> #include<iostream.h> #include<fstream.h> class check { char name[20]; int m1,m2,m3,tot; public: void getdata() { cout<<"Enter name and 3 marks"; cin>>name>>m1>>m2>>m3; tot=m1+m2+m3; } void putdata() { cout<<"\n"<<name<<" "<<m1<<" "<<m2<<" "<<m3; } };

More Related