Changes in tests/copyfile.cfa [3f654ec:8d75345a]
- File:
-
- 1 edited
-
tests/copyfile.cfa (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
tests/copyfile.cfa
r3f654ec r8d75345a 10 10 // Created On : Tue Jul 16 16:47:22 2019 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Wed Jul 17 18:04:44201913 // Update Count : 2612 // Last Modified On : Tue Jul 16 16:48:16 2019 13 // Update Count : 1 14 14 // 15 15 16 16 #include <fstream.hfa> 17 #include <stdlib.hfa> // new/delete18 17 19 18 int main( int argc, char * argv[] ) { 20 ifstream * in = &stdin;// default files21 ofstream * out = &stdout;22 try {23 choose ( argc ) {24 case 2, 3:25 in = new( (const char *)argv[1] );// open input file first as output creates file26 if ( argc == 3 ) out = new( (const char *)argv[2] );// only open output if input opens as output created if nonexistent27 case 1: ; // use default files28 default:29 exit | "Usage [ input-file (default stdin) [ output-file (default stdout) ] ]";30 } // choose19 ifstream & in = stdin; // default files 20 ofstream & out = stdout; 21 try { 22 choose ( argc ) { 23 case 2, 3: 24 open( in, argv[1] ); // open input file first as output creates file 25 if ( argc == 3 ) open( out, argv[2] ); // only open output if input opens as output created if nonexistent 26 case 1: ; // use default files 27 default: 28 exit | "Usage [ input-file (default stdin) [ output-file (default stdout) ] ]"; 29 } // choose 31 30 32 char ch;33 *out | nlOff;// turn off auto newline34 *in | nlOn;// turn on reading newline31 char ch; 32 out | nlOff; // turn off auto newline 33 in | nlOn; // turn on reading newline 35 34 36 for () {// read all characters37 *in | ch;38 if ( eof( *in ) ) break;// eof ?39 *out | ch;40 } // for41 } finally {42 if ( in != &stdin ) delete( in ); // close file, do not delete stdin!43 if ( out != &stdout ) delete( out ); // close file, do not delete stdout!44 } // try35 for () { // read all characters 36 in | ch; 37 if ( eof( in ) ) break; // eof ? 38 out | ch; 39 } // for 40 } finally { 41 close( in ); // stdin, stdout are never closed 42 close( out ); 43 } // try 45 44 } // main 46 45
Note:
See TracChangeset
for help on using the changeset viewer.