Changes in src/tests/io.c [5a7966bb:cb91437]
- File:
-
- 1 edited
-
src/tests/io.c (modified) (4 diffs)
Legend:
- Unmodified
- Added
- Removed
-
src/tests/io.c
r5a7966bb rcb91437 10 10 // Created On : Wed Mar 2 16:56:02 2016 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : T hu Jun 8 09:52:10201713 // Update Count : 5112 // Last Modified On : Tue Mar 21 22:36:06 2017 13 // Update Count : 48 14 14 // 15 15 … … 17 17 18 18 int main() { 19 char c; // basic types19 char c; // basic types 20 20 short int si; 21 21 unsigned short int usi; … … 32 32 double _Complex dc; 33 33 long double _Complex ldc; 34 enum { size = 10 }; 35 char s1[size], s2[size]; 34 char s1[10], s2[10]; 36 35 37 36 int x = 3, y = 5, z = 7; … … 42 41 sout | endl; 43 42 43 ifstream in; // create / open file 44 open( &in, "io.data", "r" ); 45 46 &in | &c // character 47 | &si | &usi | &i | &ui | &li | &uli | &lli | &ulli // integral 48 | &f | &d | &ld // floating point 49 | &fc | &dc | &ldc // floating-point complex 50 | cstr( s1 ) | cstr( s2, 10 ); // C string, length unchecked and checked 51 52 sout | c | ' ' | endl // character 53 | si | usi | i | ui | li | uli | lli | ulli | endl // integral 54 | f | d | ld | endl // floating point 55 | fc | dc | ldc | endl; // complex 56 sout | endl; 57 sout | f | "" | d | "" | ld | endl // floating point without separator 58 | sepDisable | fc | dc | ldc | sepEnable | endl // complex without separator 59 | sepOn | s1 | sepOff | s2 | endl // local separator removal 60 | s1 | "" | s2 | endl; // C string without separator 61 sout | endl; 62 63 sepSet( sout, ", $" ); // change separator, maximum of 15 characters 64 sout | f | d | ld | endl 65 | fc | dc | ldc | endl 66 | s1 | s2 | endl; 67 sout | endl; 68 sepSet( sout, " " ); 69 44 70 sout 45 71 // opening delimiters 46 | "x (" | 1 47 | "x [" | 2 48 | "x {" | 3 49 | "x =" | 4 50 | "x $" | 5 51 | "x £" | 6 52 | "x ¥" | 7 53 | "x ¡" | 8 54 | "x ¿" | 9 55 | "x «" | 10 72 | "v(" | 27 73 | "v[" | 27 74 | "v{" | 27 75 | "$" | 27 76 | "=" | 27 77 | "£" | 27 78 | "¥" | 27 79 | "¡" | 27 80 | "¿" | 27 81 | "«" | 27 82 | endl 83 // closing delimiters 84 | 25 | "," 85 | 25 | "." 86 | 25 | ":" 87 | 25 | ";" 88 | 25 | "!" 89 | 25 | "?" 90 | 25 | "%" 91 | 25 | "¢" 92 | 25 | "»" 93 | 25 | ")" 94 | 25 | "]" 95 | 25 | "}" 96 | endl 97 // opening-closing delimiters 98 | 25 | "'" | 27 99 | 25 | "`" | 27 100 | 25 | "\"" | 27 101 | 25 | " " | 27 102 | 25 | "\f" | 27 103 | 25 | "\n" | 27 104 | 25 | "\r" | 27 105 | 25 | "\t" | 27 106 | 25 | "\v" | 27 56 107 | endl; 57 sout58 // closing delimiters59 | 1 | ", x"60 | 2 | ". x"61 | 3 | "; x"62 | 4 | "! x"63 | 5 | "? x"64 | 6 | "% x"65 | 7 | "¢ x"66 | 8 | "» x"67 | 9 | ") x"68 | 10 | "] x"69 | 11 | "} x"70 | endl;71 sout72 // opening-closing delimiters73 | "x`" | 1 | "`x'" | 274 | "'x\"" | 3 | "\"x:" | 475 | ":x " | 5 | " x\t" | 676 | "\tx\f" | 7 | "\fx\v" | 877 | "\vx\n" | 9 | "\nx\r" | 1078 | "\rx" |79 endl;80 sout | "x ( " | 1 | " ) x" | 2 | " , x" | 3 | " :x: " | 4 | endl;81 108 82 ifstream in; // create / open file 83 open( &in, "io.data", "r" ); 84 85 &in | &c // character 86 | &si | &usi | &i | &ui | &li | &uli | &lli | &ulli // integral 87 | &f | &d | &ld // floating point 88 | &fc | &dc | &ldc // floating-point complex 89 | cstr( s1 ) | cstr( s2, size ); // C string, length unchecked and checked 90 91 sout | c | ' ' | endl // character 92 | si | usi | i | ui | li | uli | lli | ulli | endl // integral 93 | f | d | ld | endl // floating point 94 | fc | dc | ldc | endl; // complex 95 sout | endl; 96 sout | f | "" | d | "" | ld | endl // floating point without separator 97 | sepDisable | fc | dc | ldc | sepEnable | endl // complex without separator 98 | sepOn | s1 | sepOff | s2 | endl // local separator removal 99 | s1 | "" | s2 | endl; // C string without separator 100 sout | endl; 101 102 sepSet( sout, ", $" ); // change separator, maximum of 15 characters 103 sout | f | d | ld | endl 104 | fc | dc | ldc | endl 105 | s1 | s2 | endl; 106 sout | endl; 107 108 [int, int] t1 = [1, 2], t2 = [3, 4]; 109 sout | t1 | t2 | endl; // print tuple 110 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 120 sout | sepDisable | 1 | 2 | 3 | endl; // globally turn off implicit separation 121 sout | 1 | sepOn | 2 | 3 | endl; // locally turn on implicit separator 122 sout | sepEnable | 1 | 2 | 3 | endl; // globally turn on implicit separation 123 124 sepSetTuple( sout, " " ); // set tuple separator from ", " to " " 125 sout | t1 | t2 | " \"" | sepGetTuple( sout ) | "\"" | endl; 126 sepSetTuple( sout, ", " ); // reset tuple separator to ", " 127 sout | t1 | t2 | " \"" | sepGetTuple( sout ) | "\"" | endl; 128 129 sout | t1 | t2 | endl; // print tuple 130 131 [int, int, const char *, double] t3 = { 3, 4, "a", 7.2 }; 109 [int, int, const char *, double] t = { 3, 4, "a", 7.2 }; 132 110 sout | [ 3, 4, "a", 7.2 ] | endl; 133 sout | t 3| endl;111 sout | t | endl; 134 112 sepSetTuple( sout, " " ); 135 sout | t 3| endl;136 sout | sepOn | t 3 | sepDisable | t3 | sepEnable | t3| endl;113 sout | t | endl; 114 sout | sepOn | t | sepDisable | t | sepEnable | t | endl; 137 115 sepSet( sout, "^" ); 138 116 sepSetTuple( sout, "-" ); 139 sout | t 3 | 3 | 4 | t3| endl;117 sout | t | 3 | 4 | t | endl; 140 118 } 141 119
Note:
See TracChangeset
for help on using the changeset viewer.