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