1 / 35

Class 15 Honors

Class 15 Honors. Objectives. Understand some common file I/O functions Set up a program for writing to a file Read information from a file. 3 Steps to Use a File. The file must be opened. If the file does not exist, opening it means creating it.

catori
Télécharger la présentation

Class 15 Honors

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. Class 15 Honors

  2. Objectives • Understand some common file I/O functions • Set up a program for writing to a file • Read information from a file

  3. 3 Steps to Use a File • The file must be opened. If the file does not exist, opening it means creating it. • Information is then saved to the file, read from the file, or both. • When the program is finished using the file, the file must be closed. P. 701

  4. P. 706 Table 12-4 File Name and Extension File Contents MYPROG.BAS BASIC Program MENU.BAT DOS Batch File INSTALL.DOC Documentation File CRUNCH.EXE Executable File GAMES.GRP Windows Group File BOB.HTML HTML 3DMODEL. JAVA java prog. or applet INVENT.OBJ Object File PROG1.PRJ Borland C++ Porj. File ANSI.SYS Sys. Device Driver README.TXT Text File CLIENTS.DAT

  5. Writing Information to a File File: In Memory Variables: 25 40 10 10 X Y 25 Z 40 Data is copied from variables into the file

  6. Reading Information from a File File: In Memory Variables: 25 40 10 10 X Y 25 Z 40 Data is copied from the file into variables

  7. P. 700Table 12-1 File Stream Data Type ofstream Description Output File Stream. This data type can be used to create files and write information to them. With the ofstream data type, information may only be copied from variables to the file, but not vice-versa.

  8. P. 700Table 12-1 File Stream Data Type ifstream Description Input File Stream. This data type can be used to read information from files into memory. With the ifstream data type, information may only be copied from the file into variables, not but vice-versa.

  9. File Stream P. 700Table 12-1 Data Type fstream Description File Stream. This data type can be used to create files, write information to them, and read information from them. With the fstream data type, information may be copied from variables into a file, or from a file into variables.

  10. ofstream outClientFile(“clients.dat”, ios::out); if (!outClientFile) { cerr<<“File could not be opened” << endl; exit (1); // prototype in stdlib }

  11. ofstream outclientFile(“clients.dat”, ios::out);ofstream outclientFile;outclientFile.open(“clients.dat”, ios::out);

  12. Opening Modes for Files • ios::app- Write all output to the end of the file • ios::ate- Move to the end of the original file when file is opened. Enable data to be written anywhere in the file Table 12- 2p. 701

  13. Opening Modes for Files (Cont’d) • ios::in- Open a file for input. • ios::out- Open a file for output. • ios::trunc- Discard the file’s contents if it exists (this is also the default action for ios::out) Table 12- 2p. 701

  14. Opening Modes for Files (Cont’d) • ios::nocreate- If the file does not exist, the open operation fails. • ios::noreplace- If the file exists, the open operation fails. • ios::binary- Information read or written in pure binary format

  15. #include <fstream> using namespace std; int main() { fstream DataFile; char FileName[81]; cout << “Enter the name of the file you wish to open\n”; cout << “or create:”; cin.getline(FileName); DataFile.open(FileName, ios::out); cout << “The file ” << FileName << ”was opened.\n”; } P. 702Pgrm. 12-1

  16. #include <fstream> using namespace std; int main() { fstream DataFile; char FileName[81]; cout << “Enter the name of the file you wish to open\n”; cout << “or create:”; cin.getline(FileName); DataFile.open(FileName, ios::out); cout << “The file ” << FileName << ”was opened.\n”; }

  17. #include <fstream.h> void main(void) { fstream DataFile; DataFile.open(“demofile.txt”, ios::out); if (DataFile == 0) { cout << “File open error!” ,, endl; return; } cout << “File opened successfully.\n”; cout << “Now writing information to the file.\n”; DataFile << “Jones\n”; DataFile << “Smith\n”; DataFile <<“Willis\n”; DataFile << “Davis\n”; DataFile.close( ); } P. 702Pgrm. 12-1

  18. Program Screen Output P. 702 File opened successfully Now writing information to the file. Done. Output to File DEMOFILE.TXT Jones Smith Wilis Davis

  19. S m i t \n n e h i l o J s \n W i s D l \n v s a \n i <EOF> P. 702

  20. #include <fstream> int main() { fstream DataFile; DataFile.open(“demofile.txt”, ios::out); DataFile << “Jones\n”; DataFile << “Smith\n”; DataFile.close( ); DataFile.open(“demofile.txt”, ios::app); DataFile << “Willis\n”; DataFile << “Davis\n”; DataFile.close( ); } P. 703Pgrm. 12-2

  21. Output to File DEMOFILE.TXT Jones Smith Wilis Davis Pg. 703

  22. S m i t \n n e h i l o J s \n W i s D l \n v s a \n i <EOF> P. 704Fig. 12- 3

  23. //This program writes three rows of//numbers to a file. P. 709Pgrm. 12-4 #include <fstream> # include <iomanip>#include <iostream>using namespace std; int main () { fstream OutFile(“table.txt, ios::out); int Nums[3] [3] = { 2897, 5, 837, 34, 7, 1623, 390, 3456, 12 };

  24. //Write three rows of numbers for (int Row = 0; row < 3; Row++) { for (int Col = 0; Col < 3; Col++) { OutFile << setw(4)<< Nums[Row] [Col]<<“ ”; } OutFile << endl; } OutFile.close( ); } P. 709Pgrm. 12-4

  25. Contents of File TABLE.TXT 2897 5 837 34 7 1623 390 3456 12 Pg. 709

  26. #include <fstream>#include <iostream> using namespace std; bool openFileIn(fstream &, char [51]);void showContents(fstream &); int main() { fstream dataFile; if (!openFileIn(dataFile,”demofile.txt); { cout << “File open error!<< endl; return 0; } P. 710-711Pgrm. 12-5

  27. cout << “File opened successfully.\n”; cout << “Now reading information from the file.\n\n”; showContents(dataFile); cout << “done” ; return 0; // end of main}bool openFileIn(fstream &file, char *name){ bool status; file.open(name,ios::in); if (file.fail()) status = false; else status = true; return status; } P. 711Pgrm. 12-5

  28. void ShowContents(fstream &File) { char Name [81]; while (!File.eof( )) { File >> Name; cout << Name << endl; } P. 711Pgrm. 12-5

  29. r u M p y y n h 4 7 a J e \n C i r l o n c A J e e s \n N C 2 o n 7 0 m l d , 8 P. 712 2 \n <EOF>

  30. #include <fstream> #include <iostream>using namespace std; int main() { fstream NameFile; char Input[81]; NameFile.open(“murphy.txt”, ios::in); if (NameFile == 0) { cout << “File open error!” << endl; return 0; } nameFile.getline(input,81); while (!NameFile.eof( )) { cout << Input; nameFile.getline(input,81); } NameFile.close( ); } P. 717Pgrm. 12-8

  31. Exercise • Write a program that will read all the data in a file and write all the data to a new file removing the blanks.Modify page 730

  32. #include <fstream> #include <iostream> int main() { fstream inFile; ostream outFile(“out.dat”, ios:: out); char Ch, FileName [51]; cout << “Enter the name of the file”; cin >> FileName; inFile.open(FileName, ios::in); if (!inFile) { cout << FileName << “could not” << “be opened.\n”; return 0;} P. 723-724Pgrm. 12-12

  33. // prime read inFile.get(ch); while (!inFile.eof( )) { if(Ch! = ‘ ‘ ) // change from textbook outFile.put(Ch); inFile.get(Ch); } File.close( ); return 0;} P. 723-724Pgrm. 12-12

  34. Q & A

  35. Conclusion of Class 15

More Related