Return to fscanf_variation46.phpt CVS log | Up to [ELWIX - Embedded LightWeight unIX -] / embedaddon / php / ext / standard / tests / file |
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: