Changeset b826e6b for src/tests/io.c
- Timestamp:
- Jul 19, 2017, 11:49:33 AM (8 years ago)
- Branches:
- ADT, aaron-thesis, arm-eh, ast-experimental, cleanup-dtors, deferred_resn, demangler, enum, forall-pointer-decay, jacob/cs343-translation, jenkins-sandbox, master, new-ast, new-ast-unique-expr, new-env, no_list, persistent-indexer, pthread-emulation, qualifiedEnum, resolv-new, with_gc
- Children:
- 9cc0472
- Parents:
- fea3faa (diff), a57cb58 (diff)
Note: this is a merge changeset, the changes displayed below correspond to the merge itself.
Use the(diff)
links above to see all the changes relative to each parent. - File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
src/tests/io.c
rfea3faa rb826e6b 10 10 // Created On : Wed Mar 2 16:56:02 2016 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Thu Ju n 8 09:52:10201713 // Update Count : 5112 // Last Modified On : Thu Jul 6 23:26:12 2017 13 // Update Count : 78 14 14 // 15 15 … … 42 42 sout | endl; 43 43 44 sout | "opening delimiters" | endl; 44 45 sout 45 // opening delimiters46 46 | "x (" | 1 47 47 | "x [" | 2 … … 54 54 | "x ¿" | 9 55 55 | "x «" | 10 56 | endl; 56 | endl | endl; 57 58 sout | "closing delimiters" | endl; 57 59 sout 58 // closing delimiters59 60 | 1 | ", x" 60 61 | 2 | ". x" … … 68 69 | 10 | "] x" 69 70 | 11 | "} x" 70 | endl; 71 | endl | endl; 72 73 sout | "opening/closing delimiters" | endl; 71 74 sout 72 // opening-closing delimiters73 75 | "x`" | 1 | "`x'" | 2 74 76 | "'x\"" | 3 | "\"x:" | 4 … … 76 78 | "\tx\f" | 7 | "\fx\v" | 8 77 79 | "\vx\n" | 9 | "\nx\r" | 10 78 | "\rx" | 79 endl; 80 | "\rx" 81 | endl | endl; 82 83 sout | "override opening/closing delimiters" | endl; 80 84 sout | "x ( " | 1 | " ) x" | 2 | " , x" | 3 | " :x: " | 4 | endl; 85 sout | endl; 81 86 82 87 ifstream in; // create / open file 83 88 open( &in, "io.data", "r" ); 84 89 90 sout | "input bacis types" | endl; 85 91 &in | &c // character 86 92 | &si | &usi | &i | &ui | &li | &uli | &lli | &ulli // integral … … 88 94 | &fc | &dc | &ldc // floating-point complex 89 95 | cstr( s1 ) | cstr( s2, size ); // C string, length unchecked and checked 96 sout | endl; 90 97 98 sout | "output basic types" | endl; 91 99 sout | c | ' ' | endl // character 92 100 | si | usi | i | ui | li | uli | lli | ulli | endl // integral … … 94 102 | fc | dc | ldc | endl; // complex 95 103 sout | endl; 96 sout | f | "" | d | "" | ld | endl // floating point without separator 97 | sepDisable | fc | dc | ldc | sepEnable | endl // complex without separator98 | sepOn | s1 | sepOff | s2 | endl // local separator removal99 | s1 | "" | s2 | endl; // C string without separator104 105 sout | "tuples" | endl; 106 [int, [ int, int ] ] t1 = [ 1, [ 2, 3 ] ], t2 = [ 4, [ 5, 6 ] ]; 107 sout | t1 | t2 | endl; // print tuple 100 108 sout | endl; 101 109 110 sout | "toggle separator" | endl; 111 sout | f | "" | d | "" | ld | endl // floating point without separator 112 | sepDisable | fc | dc | ldc | endl // complex without separator 113 | fc | sepOn | dc | ldc | endl // local separator add 114 | sepEnable | fc | dc | ldc | endl // complex with separator 115 | fc | sepOff | dc | ldc | endl // local separator removal 116 | s1 | sepOff | s2 | endl // local separator removal 117 | s1 | "" | s2 | endl; // local separator removal 118 sout | endl; 119 120 sout | "change separator" | endl; 121 sout | "from \"" | sep | "\""; 102 122 sepSet( sout, ", $" ); // change separator, maximum of 15 characters 123 sout | " to \"" | sep | "\"" | endl; 103 124 sout | f | d | ld | endl 104 125 | fc | dc | ldc | endl 105 | s1 | s2 | endl; 126 | s1 | s2 | endl 127 | t1 | t2 | endl; // print tuple 128 sout | endl; 129 sout | "from \"" | sep | "\" "; 130 sepSet( sout, " " ); // restore separator 131 sout | "to \"" | sep | "\"" | endl; 132 sout | f | d | ld | endl 133 | fc | dc | ldc | endl 134 | s1 | s2 | endl 135 | t1 | t2 | endl; // print tuple 106 136 sout | endl; 107 137 108 [int, int] t1 = [1, 2], t2 = [3, 4]; 109 sout | t1 | t2 | endl; // print tuple 138 sout | "check sepOn/sepOff" | endl; 139 sout | sepOn | 1 | 2 | 3 | sepOn | endl; // no separator at start/end of line 140 sout | 1 | sepOff | 2 | 3 | endl; // locally turn off implicit separator 141 sout | sepOn | sepOn | 1 | 2 | 3 | sepOn | sepOff | sepOn | '\n'; // no separator at start/end of line 142 sout | 1 | 2 | 3 | "\n\n" | sepOn; // no separator at start of next line 143 sout | 1 | 2 | 3 | endl; 144 sout | endl; 110 145 111 sepSet( sout, " " ); 112 sepSet( sout, ", $" ); // set separator from " " to ", $" 113 sout | 1 | 2 | 3 | " \"" | sepGet( sout ) | "\"" | endl; 114 sepSet( sout, " " ); // reset separator to " " 115 sout | 1 | 2 | 3 | " \"" | sepGet( sout ) | "\"" | endl; 116 117 sout | sepOn | 1 | 2 | 3 | sepOn | endl; // separator at start of line 118 sout | 1 | sepOff | 2 | 3 | endl; // locally turn off implicit separator 119 146 sout | "check enable/disable" | endl; 120 147 sout | sepDisable | 1 | 2 | 3 | endl; // globally turn off implicit separation 121 148 sout | 1 | sepOn | 2 | 3 | endl; // locally turn on implicit separator 122 sout | sepEnable | 1 | 2 | 3 | endl; // globally turn on implicit separation 149 sout | sepEnable | 1 | 2 | 3 | endl | sepDisable; // globally turn on/off implicit separation 150 sout | 1 | 2 | 3 | endl | sepEnable; // globally turn on implicit separation 151 sout | 1 | 2 | 3 | sepOn | sepDisable | endl; // ignore seperate at end of line 152 sout | 1 | 2 | 3 | sepOn | sepEnable | endl; // separator at end of line 153 sout | 1 | 2 | 3 | endl; 154 sout | endl; 155 156 // sout | fmt( d, "%8.3f" ) || endl; 157 // sout | endl; 123 158 124 159 sepSetTuple( sout, " " ); // set tuple separator from ", " to " " 125 sout | t1 | t2 | " \"" | sep GetTuple( sout )| "\"" | endl;160 sout | t1 | t2 | " \"" | sep | "\"" | endl; 126 161 sepSetTuple( sout, ", " ); // reset tuple separator to ", " 127 sout | t1 | t2 | " \"" | sepGetTuple( sout ) | "\"" | endl; 128 162 sout | t1 | t2 | " \"" | sep | "\"" | endl; 129 163 sout | t1 | t2 | endl; // print tuple 164 sout | endl; 130 165 131 166 [int, int, const char *, double] t3 = { 3, 4, "a", 7.2 };
Note:
See TracChangeset
for help on using the changeset viewer.