1 / 22

File Input in HiC

File Input in HiC. Run menu Set Input File… Load Input Input (Interactive) (Batch) OK We want to know how to do it ourselves, right?. Review: Standard Input/Output Stream. // Header file #include <iostream> int size; float avg; cin >> size; // cin: Standard input stream

rory
Télécharger la présentation

File Input in HiC

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. File Input in HiC • Run menu • Set Input File… • Load Input • Input (Interactive) • (Batch) • OK We want to know how to do it ourselves, right?

  2. Review: Standard Input/Output Stream // Header file #include <iostream> int size; float avg; cin >> size; // cin: Standard input stream // >>: input operator cout << "Average is " << avg; // cout: standard output stream // <<: output operator

  3. Header File <iostream> // Input stream class istream { private: // Members: public: bool eof(); void get(char& x); void getline(char s[], int size, char endChar); … }; istream cin; // Variable of istream // connecting cin to keyboard

  4. Header File <iostream> // Output stream class ostream { private: // Members public: bool good(); bool fail(); … }; ostream cout; // Variable of ostream // connecting cout to monitor

  5. Standard Error Stream cerr << “Error message.”; // cerr: Standard error stream // always go to monitor // Not working in HiC

  6. Header File for File I/O // File Stream #include <fstream> // Input File Stream class ifstream { … }; // Output File Stream class ofstream { … };

  7. Class ifstream // File Stream #include <fstream> class ifstream { private: . . . public: void open(const char fileName[]); // HiC cannot use C++ string for fileName bool good(); bool fail(); void close(); bool eof(); void get(char& x); … };

  8. Class ofstream // File Stream #include <fstream> class ofstream { private: . . . public: void open(const char fileName[]); // Not C++ string void close(); bool good(); bool fail(); … };

  9. File Input/Output #include <fstream> // Defines class ifstream and ofstream int main() { // use any identifiers you want ifstream MyInput; ofstream yourOutFile; ifstream p7_File, cin_redirect; ofstream P6Out, cout_redirect; . . . return 0; }

  10. File Input/Output #include <fstream> int main() { ifstream MyInput; // Open file // void open(const char fileName[]); MyInput.open(“P6.IN"); // P6.IN is in the same folder as the source file MyInput.open(“J:\\P6.IN"); // P6.IN could be any where // Escape char ‘\’ // Do work MyInput.close(); // void close(); // No parameter! return 0; }

  11. Checking Open Operation #include <iostream> #include <fstream> int main() { ifstream MyInput; MyInput.open(“P6.IN"); // Check open operation if (!MyInput.good()) cout << "Error: Cannot open input file"; return 0; }

  12. Checking Open Operation #include <iostream> #include <fstream> int main() { ifstream MyInput; MyInput.open(“P6.IN"); // Check open operation if (MyInput.fail()) { cout << "Error: Cannot open input file"; return 1; } // Do work return 0; }

  13. File Input/Output #include <iostream> #include <fstream> int main() { ifstream MyInput; ofstream yourOutFile; MyInput.open(“P6.IN"); if (MyInput.fail()) { cout << "Error: Cannot open input file!"; return 1; } yourOutFile.open(“p6.out”); if (!yourOutFile.good()) { cout << "Error: Cannot open output file!"; return 1; } … return 0; }

  14. File Input/Output #include <iostream> #include <fstream> int main() { ifstream MyInput; ofstream yourOutFile; MyInput.open(“P6.IN"); yourOutFile.open(“P6.out”); // Check open file int x; MyInput >> x; // cin >> x; while (!MyInput.eof()) // cin.eof() { // process data x ++; // output to file yourOutFile << x; // cout << x; // read the next value MyInput >> x; } return 0; }

  15. File Input/Output #include <iostream> #include <fstream> int main() { ifstream MyInput; ofstream yourOutFile; int x; MyInput.open(“P6.IN"); yourOutFile.open(“p6.out”); if (MyInput.fail() || !yourOutFile.good()) { cout << "Error: Cannot open files!"; return 1; } MyInput >> x; while (!MyInput.eof()) { x ++; yourOutFile << x; MyInput >> x; } MyInput.close(); yourOutFile.close(); return 0; }

  16. File Input/Output // DO_01: Include header file for file I/O int main() { // DO_02: declare variables for file I/O // DO_03: open file // DO_04: Check open operation // DO_05: Read value from a file // DO_06: Fill condition: read until the end of file while ( ) { // DO_07: Output value to a file } // DO_08: Close files }

  17. Function get() int main() { char x; cin.get(x); while(!cin.eof()) { if (x == ' ') // process a space else if (x == '\n') // process a new line char else // process a regular char cin.get(x); } return 0; } // cin >> x will skip all white spaces. // cin.get() will read in white spaces.

  18. Function get() int main() { char x; ifstream MyInput(“P6.in"); MyInput.get(x); while(!MyInput.eof()) { if (x == ' ') // process a space else if (x == '\n') // process a new line char else // process a regular char MyInput.get(x); } return 0; } // MyInput >> x will skip all white spaces. // MyInput.get() will read in white spaces.

  19. Input File Name #include <iostream> #include <fstream> int main() { char file_name[21]; // Cannot use data type string for file_name ifstream MyInput; cout << “Enter input file name: ”; cin >> file_name; MyInput.open(file_name); // MyInput.open(“P6.IN"); // MyInput.open(“file_name”); NO! // Check open operation if (!MyInput.good()) { cout << "Error: Cannot open input file!"; return 1; } // Do work MyInput.close(); return 0; }

  20. File Stream as Function Parameter int main() { ifstream MyInput; if (!OpenFile(MyInput)) return 1; // Do work return 0; } bool OpenFile(ifstream& inFile) { char file_name[21]; cin >> file_name; inFile.open(file_name); if (!inFile.good()) { cout << "Error: Cannot open input file"; return false; } else return true; }

  21. Schedule Quiz9–3 9 AM, Monday Test 3 Next Monday Final Exam 7:00-8:52 pm, Thursday, May 19, 2011, Doudna 103

  22. Test 3 • Classes data members (fields) constructors methods • Selection Sorting • File I/O • Enumeration data type • C String (Array of char )

More Related