Annotation of embedaddon/php/ext/standard/tests/file/fscanf_variation26.phpt, revision 1.1.1.1
1.1 misho 1: --TEST--
2: Test fscanf() function: usage variations - char formats with chars
3: --FILE--
4: <?php
5:
6: /*
7: Prototype: mixed fscanf ( resource $handle, string $format [, mixed &$...] );
8: Description: Parses input from a file according to a format
9: */
10:
11: /* Test fscanf() to scan different chars using different char format types */
12:
13: $file_path = dirname(__FILE__);
14:
15: echo "*** Test fscanf(): different char format types with chars ***\n";
16:
17: // create a file
18: $filename = "$file_path/fscanf_variation26.tmp";
19: $file_handle = fopen($filename, "w");
20: if($file_handle == false)
21: exit("Error:failed to open file $filename");
22:
23: // array of chars
24: $char_types = array( 'a', "a", 67, -67, 99 );
25:
26: $char_formats = array( "%c",
27: "%hc", "%lc", "%Lc",
28: " %c", "%c ", "% c",
29: "\t%c", "\n%c", "%4c",
30: "%30c", "%[a-zA-Z@#$&0-9]", "%*c");
31:
32: $counter = 1;
33:
34: // writing to the file
35: foreach($char_types as $char) {
36: @fprintf($file_handle, $char);
37: @fprintf($file_handle, "\n");
38: }
39: // closing the file
40: fclose($file_handle);
41:
42: // opening the file for reading
43: $file_handle = fopen($filename, "r");
44: if($file_handle == false) {
45: exit("Error:failed to open file $filename");
46: }
47:
48: $counter = 1;
49: // reading the values from file using different char formats
50: foreach($char_formats as $char_format) {
51: // rewind the file so that for every foreach iteration the file pointer starts from bof
52: rewind($file_handle);
53: echo "\n-- iteration $counter --\n";
54: while( !feof($file_handle) ) {
55: var_dump( fscanf($file_handle,$char_format) );
56: }
57: $counter++;
58: }
59:
60: echo "\n*** Done ***";
61: ?>
62: --CLEAN--
63: <?php
64: $file_path = dirname(__FILE__);
65: $filename = "$file_path/fscanf_variation26.tmp";
66: unlink($filename);
67: ?>
68: --EXPECTF--
69: *** Test fscanf(): different char format types with chars ***
70:
71: -- iteration 1 --
72: array(1) {
73: [0]=>
74: string(1) "a"
75: }
76: array(1) {
77: [0]=>
78: string(1) "a"
79: }
80: array(1) {
81: [0]=>
82: string(1) "6"
83: }
84: array(1) {
85: [0]=>
86: string(1) "-"
87: }
88: array(1) {
89: [0]=>
90: string(1) "9"
91: }
92: bool(false)
93:
94: -- iteration 2 --
95: array(1) {
96: [0]=>
97: string(1) "a"
98: }
99: array(1) {
100: [0]=>
101: string(1) "a"
102: }
103: array(1) {
104: [0]=>
105: string(1) "6"
106: }
107: array(1) {
108: [0]=>
109: string(1) "-"
110: }
111: array(1) {
112: [0]=>
113: string(1) "9"
114: }
115: bool(false)
116:
117: -- iteration 3 --
118: array(1) {
119: [0]=>
120: string(1) "a"
121: }
122: array(1) {
123: [0]=>
124: string(1) "a"
125: }
126: array(1) {
127: [0]=>
128: string(1) "6"
129: }
130: array(1) {
131: [0]=>
132: string(1) "-"
133: }
134: array(1) {
135: [0]=>
136: string(1) "9"
137: }
138: bool(false)
139:
140: -- iteration 4 --
141: array(1) {
142: [0]=>
143: string(1) "a"
144: }
145: array(1) {
146: [0]=>
147: string(1) "a"
148: }
149: array(1) {
150: [0]=>
151: string(1) "6"
152: }
153: array(1) {
154: [0]=>
155: string(1) "-"
156: }
157: array(1) {
158: [0]=>
159: string(1) "9"
160: }
161: bool(false)
162:
163: -- iteration 5 --
164: array(1) {
165: [0]=>
166: string(1) "a"
167: }
168: array(1) {
169: [0]=>
170: string(1) "a"
171: }
172: array(1) {
173: [0]=>
174: string(1) "6"
175: }
176: array(1) {
177: [0]=>
178: string(1) "-"
179: }
180: array(1) {
181: [0]=>
182: string(1) "9"
183: }
184: bool(false)
185:
186: -- iteration 6 --
187: array(1) {
188: [0]=>
189: string(1) "a"
190: }
191: array(1) {
192: [0]=>
193: string(1) "a"
194: }
195: array(1) {
196: [0]=>
197: string(1) "6"
198: }
199: array(1) {
200: [0]=>
201: string(1) "-"
202: }
203: array(1) {
204: [0]=>
205: string(1) "9"
206: }
207: bool(false)
208:
209: -- iteration 7 --
210:
211: Warning: fscanf(): Bad scan conversion character " " in %s on line %d
212: NULL
213:
214: Warning: fscanf(): Bad scan conversion character " " in %s on line %d
215: NULL
216:
217: Warning: fscanf(): Bad scan conversion character " " in %s on line %d
218: NULL
219:
220: Warning: fscanf(): Bad scan conversion character " " in %s on line %d
221: NULL
222:
223: Warning: fscanf(): Bad scan conversion character " " in %s on line %d
224: NULL
225: bool(false)
226:
227: -- iteration 8 --
228: array(1) {
229: [0]=>
230: string(1) "a"
231: }
232: array(1) {
233: [0]=>
234: string(1) "a"
235: }
236: array(1) {
237: [0]=>
238: string(1) "6"
239: }
240: array(1) {
241: [0]=>
242: string(1) "-"
243: }
244: array(1) {
245: [0]=>
246: string(1) "9"
247: }
248: bool(false)
249:
250: -- iteration 9 --
251: array(1) {
252: [0]=>
253: string(1) "a"
254: }
255: array(1) {
256: [0]=>
257: string(1) "a"
258: }
259: array(1) {
260: [0]=>
261: string(1) "6"
262: }
263: array(1) {
264: [0]=>
265: string(1) "-"
266: }
267: array(1) {
268: [0]=>
269: string(1) "9"
270: }
271: bool(false)
272:
273: -- iteration 10 --
274: array(1) {
275: [0]=>
276: string(1) "a"
277: }
278: array(1) {
279: [0]=>
280: string(1) "a"
281: }
282: array(1) {
283: [0]=>
284: string(2) "67"
285: }
286: array(1) {
287: [0]=>
288: string(3) "-67"
289: }
290: array(1) {
291: [0]=>
292: string(2) "99"
293: }
294: bool(false)
295:
296: -- iteration 11 --
297: array(1) {
298: [0]=>
299: string(1) "a"
300: }
301: array(1) {
302: [0]=>
303: string(1) "a"
304: }
305: array(1) {
306: [0]=>
307: string(2) "67"
308: }
309: array(1) {
310: [0]=>
311: string(3) "-67"
312: }
313: array(1) {
314: [0]=>
315: string(2) "99"
316: }
317: bool(false)
318:
319: -- iteration 12 --
320: array(1) {
321: [0]=>
322: string(1) "a"
323: }
324: array(1) {
325: [0]=>
326: string(1) "a"
327: }
328: array(1) {
329: [0]=>
330: string(2) "67"
331: }
332: array(1) {
333: [0]=>
334: NULL
335: }
336: array(1) {
337: [0]=>
338: string(2) "99"
339: }
340: bool(false)
341:
342: -- iteration 13 --
343: array(0) {
344: }
345: array(0) {
346: }
347: array(0) {
348: }
349: array(0) {
350: }
351: array(0) {
352: }
353: bool(false)
354:
355: *** Done ***
356:
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>