logging in or signing up Cpp8 birbaljat Download Post to : URL : Related Presentations : Share Add to Flag Embed Email Send to Blogs and Networks Add to Channel Uploaded from authorPOINT lite Insert YouTube videos in PowerPont slides with aS Desktop Copy embed code: (To copy code, click on the text box) Embed: URL: Thumbnail: WordPress Embed Customize Embed The presentation is successfully added In Your Favorites. Views: 163 Category: Education License: All Rights Reserved Like it (0) Dislike it (0) Added: April 29, 2009 This Presentation is Public Favorites: 0 Presentation Description No description available. Comments Posting comment... Premium member Presentation Transcript C++ : C++ Lecture 8 Monday, 25 August 2005 I/O, File, and Preprocessing : I/O, File, and Preprocessing An in-depth review of stream input/output File handling in C++ C++ preprocessing IO Stream Library : IO Stream Library <iostream> -- basic I/O <iomanip> -- formatted I/O <fstream> -- file Take a look of iostream.h (at C:\MinGW\include\c++\) Stream I/O Classes : Stream I/O Classes ios istream ostream iostream ifstream ofstream Standard Stream Objects : Standard Stream Objects cin – istream class, “tied to” (connected to) the standard input device (keyboard) cout – ostream class, “tied to” standard output device cerr – ostream class, standard error output, unbuffered clog – ostream class, also to standard error, buffered << and >> Overloaded Operators : << and >> Overloaded Operators cout << A; // type need not specify [compare with printf(“%d”, A);] cout << A << B; // cascading cout << endl; // newline cout << flush; // forced buffer flush Put and Get Member Functions : Put and Get Member Functions cout.put(‘A’); // print a single char cin.get( ); // get a single char cin.getline(buffer, SIZE); // read a line of characters cin.eof(); // test for end-of-file C.f. Fig. 11.12 (old) Unformatted I/O : Unformatted I/O cout.write(buffer, SIZE) cin.read(buffer, SIZE) The memory contents pointed by buffer is read/write. In formatted I/O, contents are translated into printable ASCII sequence Printing in Other Bases : Printing in Other Bases cout << n; cout << hex << n; cout << dec << n; cout << oct << n; cout << setbase(10) << n; Format States : Format States setiosflag(iso::S) Where S can be skipws, left, right, dec, oct, showpoint, uppercase, fixed etc. Write in a File : Write in a File #include <iostream> #include <fstream> … ofstream fileobj(“f.dat”, ios::out); // create output file object fileobj << data; // output to file ofstream is derived class from ostream Read in a File : Read in a File #include <iostream> #include <fstream> … ifstream fileobj(“f.dat”, ios::in); // create input file object fileobj >> data; // read from file ifstream is derived class of istream C.f. Fig. 14.7 Open and Close File : Open and Close File Using scope rule { ofstream myfile(“dat.d”, ios::out); myfile << x; } Explicit open and close ofstream myfile; myfile.open(“dat.d”, ios::out); myfile << x; myfile.close(); Sequential v.s. Random Access of Files : Sequential v.s. Random Access of Files Normally, cin or cout or file stream is used sequentially Using the stream member functions seekp( ) and write( ), we can do random file access Preprocessing : Preprocessing Before sending the source file to the compiler proper, C/C++ passes the source code to preprocessor (e.g., cpp or cc –E on Unix) to process text related to preprocessing derivatives, e.g. #define … #include Preprocessor Directive : #include Preprocessor Directive #include <filename> // standard // location Or #include “filename” // user // working directory A copy of the file is “physically” included #define Directive : #define Directive #define CURRENT_H #define PI 3.14159 #define SQ(x) ((x)*(x)) Any identifier in #define is replaced by replacement text #define Examples : #define Examples #define SQ1(x) ((x)*(x)) #define SQ2(x) x*x Then B = SQ1(a+1); C = SQ2(a+2); becomes B = ((a+1)*(a+1)); C = a+2*a+2; Conditional Compilation : Conditional Compilation #if defined(IBM) … do such and such #elif // optional … do … #else // optional … #endif # and ## Operators : # and ## Operators # converts text to string ## concatenates two tokens #define H(x) cout << “Hi,” #x #define C(x,y) x ## y H(JS); z = C(x, 5); becomes cout << “Hi,” “JS”; z = x5; Tutorial Problems : Tutorial Problems Will the following program works? (Read a string and output the string) #include <string> int main() { string s; cin >> s; cout << “length of the string is ” >> s.size() >> endl; } A Matrix Class : A Matrix Class Discuss varies possible ways of implementing a matrix class, discuss the issue of efficiency, memory management, operator overloading, etc. You do not have the permission to view this presentation. In order to view it, please contact the author of the presentation.
Cpp8 birbaljat Download Post to : URL : Related Presentations : Share Add to Flag Embed Email Send to Blogs and Networks Add to Channel Uploaded from authorPOINT lite Insert YouTube videos in PowerPont slides with aS Desktop Copy embed code: (To copy code, click on the text box) Embed: URL: Thumbnail: WordPress Embed Customize Embed The presentation is successfully added In Your Favorites. Views: 163 Category: Education License: All Rights Reserved Like it (0) Dislike it (0) Added: April 29, 2009 This Presentation is Public Favorites: 0 Presentation Description No description available. Comments Posting comment... Premium member Presentation Transcript C++ : C++ Lecture 8 Monday, 25 August 2005 I/O, File, and Preprocessing : I/O, File, and Preprocessing An in-depth review of stream input/output File handling in C++ C++ preprocessing IO Stream Library : IO Stream Library <iostream> -- basic I/O <iomanip> -- formatted I/O <fstream> -- file Take a look of iostream.h (at C:\MinGW\include\c++\) Stream I/O Classes : Stream I/O Classes ios istream ostream iostream ifstream ofstream Standard Stream Objects : Standard Stream Objects cin – istream class, “tied to” (connected to) the standard input device (keyboard) cout – ostream class, “tied to” standard output device cerr – ostream class, standard error output, unbuffered clog – ostream class, also to standard error, buffered << and >> Overloaded Operators : << and >> Overloaded Operators cout << A; // type need not specify [compare with printf(“%d”, A);] cout << A << B; // cascading cout << endl; // newline cout << flush; // forced buffer flush Put and Get Member Functions : Put and Get Member Functions cout.put(‘A’); // print a single char cin.get( ); // get a single char cin.getline(buffer, SIZE); // read a line of characters cin.eof(); // test for end-of-file C.f. Fig. 11.12 (old) Unformatted I/O : Unformatted I/O cout.write(buffer, SIZE) cin.read(buffer, SIZE) The memory contents pointed by buffer is read/write. In formatted I/O, contents are translated into printable ASCII sequence Printing in Other Bases : Printing in Other Bases cout << n; cout << hex << n; cout << dec << n; cout << oct << n; cout << setbase(10) << n; Format States : Format States setiosflag(iso::S) Where S can be skipws, left, right, dec, oct, showpoint, uppercase, fixed etc. Write in a File : Write in a File #include <iostream> #include <fstream> … ofstream fileobj(“f.dat”, ios::out); // create output file object fileobj << data; // output to file ofstream is derived class from ostream Read in a File : Read in a File #include <iostream> #include <fstream> … ifstream fileobj(“f.dat”, ios::in); // create input file object fileobj >> data; // read from file ifstream is derived class of istream C.f. Fig. 14.7 Open and Close File : Open and Close File Using scope rule { ofstream myfile(“dat.d”, ios::out); myfile << x; } Explicit open and close ofstream myfile; myfile.open(“dat.d”, ios::out); myfile << x; myfile.close(); Sequential v.s. Random Access of Files : Sequential v.s. Random Access of Files Normally, cin or cout or file stream is used sequentially Using the stream member functions seekp( ) and write( ), we can do random file access Preprocessing : Preprocessing Before sending the source file to the compiler proper, C/C++ passes the source code to preprocessor (e.g., cpp or cc –E on Unix) to process text related to preprocessing derivatives, e.g. #define … #include Preprocessor Directive : #include Preprocessor Directive #include <filename> // standard // location Or #include “filename” // user // working directory A copy of the file is “physically” included #define Directive : #define Directive #define CURRENT_H #define PI 3.14159 #define SQ(x) ((x)*(x)) Any identifier in #define is replaced by replacement text #define Examples : #define Examples #define SQ1(x) ((x)*(x)) #define SQ2(x) x*x Then B = SQ1(a+1); C = SQ2(a+2); becomes B = ((a+1)*(a+1)); C = a+2*a+2; Conditional Compilation : Conditional Compilation #if defined(IBM) … do such and such #elif // optional … do … #else // optional … #endif # and ## Operators : # and ## Operators # converts text to string ## concatenates two tokens #define H(x) cout << “Hi,” #x #define C(x,y) x ## y H(JS); z = C(x, 5); becomes cout << “Hi,” “JS”; z = x5; Tutorial Problems : Tutorial Problems Will the following program works? (Read a string and output the string) #include <string> int main() { string s; cin >> s; cout << “length of the string is ” >> s.size() >> endl; } A Matrix Class : A Matrix Class Discuss varies possible ways of implementing a matrix class, discuss the issue of efficiency, memory management, operator overloading, etc.