Annotation of embedaddon/php/ext/standard/tests/file/fscanf_variation46.phpt, revision 1.1.1.1
1.1 misho 1: --TEST--
2: Test fscanf() function: usage variations - scientific formats with float values
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 float values using different scientific format types */
12:
13: $file_path = dirname(__FILE__);
14:
15: echo "*** Test fscanf(): different scientific format types with float values ***\n";
16:
17: // create a file
18: $filename = "$file_path/fscanf_variation46.tmp";
19: $file_handle = fopen($filename, "w");
20: if($file_handle == false)
21: exit("Error:failed to open file $filename");
22:
23: // array of float type values
24:
25: $float_values = array (
26: -2147483649,
27: 2147483648,
28: -0x80000001, // float value, beyond max negative int
29: 0x800000001, // float value, beyond max positive int
30: 020000000001, // float value, beyond max positive int
31: -020000000001, // float value, beyond max negative int
32: 0.0,
33: -0.1,
34: 1.0,
35: 1e5,
36: -1e6,
37: 1E8,
38: -1E9,
39: 10.0000000000000000005,
40: 10.5e+5
41: );
42:
43: $scientific_formats = array( "%e", "%he", "%le", "%Le", " %e", "%e ", "% e", "\t%e", "\n%e", "%4e", "%30e", "%[0-9]", "%*e");
44:
45: $counter = 1;
46:
47: // writing to the file
48: foreach($float_values as $value) {
49: @fprintf($file_handle, $value);
50: @fprintf($file_handle, "\n");
51: }
52: // closing the file
53: fclose($file_handle);
54:
55: // opening the file for reading
56: $file_handle = fopen($filename, "r");
57: if($file_handle == false) {
58: exit("Error:failed to open file $filename");
59: }
60:
61: $counter = 1;
62: // reading the values from file using different scientific formats
63: foreach($scientific_formats as $scientific_format) {
64: // rewind the file so that for every foreach iteration the file pointer starts from bof
65: rewind($file_handle);
66: echo "\n-- iteration $counter --\n";
67: while( !feof($file_handle) ) {
68: var_dump( fscanf($file_handle,$scientific_format) );
69: }
70: $counter++;
71: }
72:
73: echo "\n*** Done ***";
74: ?>
75: --CLEAN--
76: <?php
77: $file_path = dirname(__FILE__);
78: $filename = "$file_path/fscanf_variation46.tmp";
79: unlink($filename);
80: ?>
81: --EXPECTF--
82: *** Test fscanf(): different scientific format types with float values ***
83:
84: -- iteration 1 --
85: array(1) {
86: [0]=>
87: float(-2147483649)
88: }
89: array(1) {
90: [0]=>
91: float(2147483648)
92: }
93: array(1) {
94: [0]=>
95: float(-2147483649)
96: }
97: array(1) {
98: [0]=>
99: float(34359738369)
100: }
101: array(1) {
102: [0]=>
103: float(2147483649)
104: }
105: array(1) {
106: [0]=>
107: float(-2147483649)
108: }
109: array(1) {
110: [0]=>
111: float(0)
112: }
113: array(1) {
114: [0]=>
115: float(-0.1)
116: }
117: array(1) {
118: [0]=>
119: float(1)
120: }
121: array(1) {
122: [0]=>
123: float(100000)
124: }
125: array(1) {
126: [0]=>
127: float(-1000000)
128: }
129: array(1) {
130: [0]=>
131: float(100000000)
132: }
133: array(1) {
134: [0]=>
135: float(-1000000000)
136: }
137: array(1) {
138: [0]=>
139: float(10)
140: }
141: array(1) {
142: [0]=>
143: float(1050000)
144: }
145: bool(false)
146:
147: -- iteration 2 --
148: array(1) {
149: [0]=>
150: float(-2147483649)
151: }
152: array(1) {
153: [0]=>
154: float(2147483648)
155: }
156: array(1) {
157: [0]=>
158: float(-2147483649)
159: }
160: array(1) {
161: [0]=>
162: float(34359738369)
163: }
164: array(1) {
165: [0]=>
166: float(2147483649)
167: }
168: array(1) {
169: [0]=>
170: float(-2147483649)
171: }
172: array(1) {
173: [0]=>
174: float(0)
175: }
176: array(1) {
177: [0]=>
178: float(-0.1)
179: }
180: array(1) {
181: [0]=>
182: float(1)
183: }
184: array(1) {
185: [0]=>
186: float(100000)
187: }
188: array(1) {
189: [0]=>
190: float(-1000000)
191: }
192: array(1) {
193: [0]=>
194: float(100000000)
195: }
196: array(1) {
197: [0]=>
198: float(-1000000000)
199: }
200: array(1) {
201: [0]=>
202: float(10)
203: }
204: array(1) {
205: [0]=>
206: float(1050000)
207: }
208: bool(false)
209:
210: -- iteration 3 --
211: array(1) {
212: [0]=>
213: float(-2147483649)
214: }
215: array(1) {
216: [0]=>
217: float(2147483648)
218: }
219: array(1) {
220: [0]=>
221: float(-2147483649)
222: }
223: array(1) {
224: [0]=>
225: float(34359738369)
226: }
227: array(1) {
228: [0]=>
229: float(2147483649)
230: }
231: array(1) {
232: [0]=>
233: float(-2147483649)
234: }
235: array(1) {
236: [0]=>
237: float(0)
238: }
239: array(1) {
240: [0]=>
241: float(-0.1)
242: }
243: array(1) {
244: [0]=>
245: float(1)
246: }
247: array(1) {
248: [0]=>
249: float(100000)
250: }
251: array(1) {
252: [0]=>
253: float(-1000000)
254: }
255: array(1) {
256: [0]=>
257: float(100000000)
258: }
259: array(1) {
260: [0]=>
261: float(-1000000000)
262: }
263: array(1) {
264: [0]=>
265: float(10)
266: }
267: array(1) {
268: [0]=>
269: float(1050000)
270: }
271: bool(false)
272:
273: -- iteration 4 --
274: array(1) {
275: [0]=>
276: float(-2147483649)
277: }
278: array(1) {
279: [0]=>
280: float(2147483648)
281: }
282: array(1) {
283: [0]=>
284: float(-2147483649)
285: }
286: array(1) {
287: [0]=>
288: float(34359738369)
289: }
290: array(1) {
291: [0]=>
292: float(2147483649)
293: }
294: array(1) {
295: [0]=>
296: float(-2147483649)
297: }
298: array(1) {
299: [0]=>
300: float(0)
301: }
302: array(1) {
303: [0]=>
304: float(-0.1)
305: }
306: array(1) {
307: [0]=>
308: float(1)
309: }
310: array(1) {
311: [0]=>
312: float(100000)
313: }
314: array(1) {
315: [0]=>
316: float(-1000000)
317: }
318: array(1) {
319: [0]=>
320: float(100000000)
321: }
322: array(1) {
323: [0]=>
324: float(-1000000000)
325: }
326: array(1) {
327: [0]=>
328: float(10)
329: }
330: array(1) {
331: [0]=>
332: float(1050000)
333: }
334: bool(false)
335:
336: -- iteration 5 --
337: array(1) {
338: [0]=>
339: float(-2147483649)
340: }
341: array(1) {
342: [0]=>
343: float(2147483648)
344: }
345: array(1) {
346: [0]=>
347: float(-2147483649)
348: }
349: array(1) {
350: [0]=>
351: float(34359738369)
352: }
353: array(1) {
354: [0]=>
355: float(2147483649)
356: }
357: array(1) {
358: [0]=>
359: float(-2147483649)
360: }
361: array(1) {
362: [0]=>
363: float(0)
364: }
365: array(1) {
366: [0]=>
367: float(-0.1)
368: }
369: array(1) {
370: [0]=>
371: float(1)
372: }
373: array(1) {
374: [0]=>
375: float(100000)
376: }
377: array(1) {
378: [0]=>
379: float(-1000000)
380: }
381: array(1) {
382: [0]=>
383: float(100000000)
384: }
385: array(1) {
386: [0]=>
387: float(-1000000000)
388: }
389: array(1) {
390: [0]=>
391: float(10)
392: }
393: array(1) {
394: [0]=>
395: float(1050000)
396: }
397: bool(false)
398:
399: -- iteration 6 --
400: array(1) {
401: [0]=>
402: float(-2147483649)
403: }
404: array(1) {
405: [0]=>
406: float(2147483648)
407: }
408: array(1) {
409: [0]=>
410: float(-2147483649)
411: }
412: array(1) {
413: [0]=>
414: float(34359738369)
415: }
416: array(1) {
417: [0]=>
418: float(2147483649)
419: }
420: array(1) {
421: [0]=>
422: float(-2147483649)
423: }
424: array(1) {
425: [0]=>
426: float(0)
427: }
428: array(1) {
429: [0]=>
430: float(-0.1)
431: }
432: array(1) {
433: [0]=>
434: float(1)
435: }
436: array(1) {
437: [0]=>
438: float(100000)
439: }
440: array(1) {
441: [0]=>
442: float(-1000000)
443: }
444: array(1) {
445: [0]=>
446: float(100000000)
447: }
448: array(1) {
449: [0]=>
450: float(-1000000000)
451: }
452: array(1) {
453: [0]=>
454: float(10)
455: }
456: array(1) {
457: [0]=>
458: float(1050000)
459: }
460: bool(false)
461:
462: -- iteration 7 --
463:
464: Warning: fscanf(): Bad scan conversion character " " in %s on line %d
465: NULL
466:
467: Warning: fscanf(): Bad scan conversion character " " in %s on line %d
468: NULL
469:
470: Warning: fscanf(): Bad scan conversion character " " in %s on line %d
471: NULL
472:
473: Warning: fscanf(): Bad scan conversion character " " in %s on line %d
474: NULL
475:
476: Warning: fscanf(): Bad scan conversion character " " in %s on line %d
477: NULL
478:
479: Warning: fscanf(): Bad scan conversion character " " in %s on line %d
480: NULL
481:
482: Warning: fscanf(): Bad scan conversion character " " in %s on line %d
483: NULL
484:
485: Warning: fscanf(): Bad scan conversion character " " in %s on line %d
486: NULL
487:
488: Warning: fscanf(): Bad scan conversion character " " in %s on line %d
489: NULL
490:
491: Warning: fscanf(): Bad scan conversion character " " in %s on line %d
492: NULL
493:
494: Warning: fscanf(): Bad scan conversion character " " in %s on line %d
495: NULL
496:
497: Warning: fscanf(): Bad scan conversion character " " in %s on line %d
498: NULL
499:
500: Warning: fscanf(): Bad scan conversion character " " in %s on line %d
501: NULL
502:
503: Warning: fscanf(): Bad scan conversion character " " in %s on line %d
504: NULL
505:
506: Warning: fscanf(): Bad scan conversion character " " in %s on line %d
507: NULL
508: bool(false)
509:
510: -- iteration 8 --
511: array(1) {
512: [0]=>
513: float(-2147483649)
514: }
515: array(1) {
516: [0]=>
517: float(2147483648)
518: }
519: array(1) {
520: [0]=>
521: float(-2147483649)
522: }
523: array(1) {
524: [0]=>
525: float(34359738369)
526: }
527: array(1) {
528: [0]=>
529: float(2147483649)
530: }
531: array(1) {
532: [0]=>
533: float(-2147483649)
534: }
535: array(1) {
536: [0]=>
537: float(0)
538: }
539: array(1) {
540: [0]=>
541: float(-0.1)
542: }
543: array(1) {
544: [0]=>
545: float(1)
546: }
547: array(1) {
548: [0]=>
549: float(100000)
550: }
551: array(1) {
552: [0]=>
553: float(-1000000)
554: }
555: array(1) {
556: [0]=>
557: float(100000000)
558: }
559: array(1) {
560: [0]=>
561: float(-1000000000)
562: }
563: array(1) {
564: [0]=>
565: float(10)
566: }
567: array(1) {
568: [0]=>
569: float(1050000)
570: }
571: bool(false)
572:
573: -- iteration 9 --
574: array(1) {
575: [0]=>
576: float(-2147483649)
577: }
578: array(1) {
579: [0]=>
580: float(2147483648)
581: }
582: array(1) {
583: [0]=>
584: float(-2147483649)
585: }
586: array(1) {
587: [0]=>
588: float(34359738369)
589: }
590: array(1) {
591: [0]=>
592: float(2147483649)
593: }
594: array(1) {
595: [0]=>
596: float(-2147483649)
597: }
598: array(1) {
599: [0]=>
600: float(0)
601: }
602: array(1) {
603: [0]=>
604: float(-0.1)
605: }
606: array(1) {
607: [0]=>
608: float(1)
609: }
610: array(1) {
611: [0]=>
612: float(100000)
613: }
614: array(1) {
615: [0]=>
616: float(-1000000)
617: }
618: array(1) {
619: [0]=>
620: float(100000000)
621: }
622: array(1) {
623: [0]=>
624: float(-1000000000)
625: }
626: array(1) {
627: [0]=>
628: float(10)
629: }
630: array(1) {
631: [0]=>
632: float(1050000)
633: }
634: bool(false)
635:
636: -- iteration 10 --
637: array(1) {
638: [0]=>
639: float(-214)
640: }
641: array(1) {
642: [0]=>
643: float(2147)
644: }
645: array(1) {
646: [0]=>
647: float(-214)
648: }
649: array(1) {
650: [0]=>
651: float(3435)
652: }
653: array(1) {
654: [0]=>
655: float(2147)
656: }
657: array(1) {
658: [0]=>
659: float(-214)
660: }
661: array(1) {
662: [0]=>
663: float(0)
664: }
665: array(1) {
666: [0]=>
667: float(-0.1)
668: }
669: array(1) {
670: [0]=>
671: float(1)
672: }
673: array(1) {
674: [0]=>
675: float(1000)
676: }
677: array(1) {
678: [0]=>
679: float(-100)
680: }
681: array(1) {
682: [0]=>
683: float(1000)
684: }
685: array(1) {
686: [0]=>
687: float(-100)
688: }
689: array(1) {
690: [0]=>
691: float(10)
692: }
693: array(1) {
694: [0]=>
695: float(1050)
696: }
697: bool(false)
698:
699: -- iteration 11 --
700: array(1) {
701: [0]=>
702: float(-2147483649)
703: }
704: array(1) {
705: [0]=>
706: float(2147483648)
707: }
708: array(1) {
709: [0]=>
710: float(-2147483649)
711: }
712: array(1) {
713: [0]=>
714: float(34359738369)
715: }
716: array(1) {
717: [0]=>
718: float(2147483649)
719: }
720: array(1) {
721: [0]=>
722: float(-2147483649)
723: }
724: array(1) {
725: [0]=>
726: float(0)
727: }
728: array(1) {
729: [0]=>
730: float(-0.1)
731: }
732: array(1) {
733: [0]=>
734: float(1)
735: }
736: array(1) {
737: [0]=>
738: float(100000)
739: }
740: array(1) {
741: [0]=>
742: float(-1000000)
743: }
744: array(1) {
745: [0]=>
746: float(100000000)
747: }
748: array(1) {
749: [0]=>
750: float(-1000000000)
751: }
752: array(1) {
753: [0]=>
754: float(10)
755: }
756: array(1) {
757: [0]=>
758: float(1050000)
759: }
760: bool(false)
761:
762: -- iteration 12 --
763: array(1) {
764: [0]=>
765: NULL
766: }
767: array(1) {
768: [0]=>
769: string(10) "2147483648"
770: }
771: array(1) {
772: [0]=>
773: NULL
774: }
775: array(1) {
776: [0]=>
777: string(11) "34359738369"
778: }
779: array(1) {
780: [0]=>
781: string(10) "2147483649"
782: }
783: array(1) {
784: [0]=>
785: NULL
786: }
787: array(1) {
788: [0]=>
789: string(1) "0"
790: }
791: array(1) {
792: [0]=>
793: NULL
794: }
795: array(1) {
796: [0]=>
797: string(1) "1"
798: }
799: array(1) {
800: [0]=>
801: string(6) "100000"
802: }
803: array(1) {
804: [0]=>
805: NULL
806: }
807: array(1) {
808: [0]=>
809: string(9) "100000000"
810: }
811: array(1) {
812: [0]=>
813: NULL
814: }
815: array(1) {
816: [0]=>
817: string(2) "10"
818: }
819: array(1) {
820: [0]=>
821: string(7) "1050000"
822: }
823: bool(false)
824:
825: -- iteration 13 --
826: array(0) {
827: }
828: array(0) {
829: }
830: array(0) {
831: }
832: array(0) {
833: }
834: array(0) {
835: }
836: array(0) {
837: }
838: array(0) {
839: }
840: array(0) {
841: }
842: array(0) {
843: }
844: array(0) {
845: }
846: array(0) {
847: }
848: array(0) {
849: }
850: array(0) {
851: }
852: array(0) {
853: }
854: array(0) {
855: }
856: bool(false)
857:
858: *** Done ***
859:
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>