Return to fscanf_variation9.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 - float formats with integer 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 integer values using different float format types */ 18: 19: $file_path = dirname(__FILE__); 20: 21: echo "*** Test fscanf(): different float format types with integer values ***\n"; 22: 23: // create a file 24: $filename = "$file_path/fscanf_variation9.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: $integer_values = array ( 32: 0, 33: 1, 34: -1, 35: -2147483648, // max negative integer value 36: -2147483647, 37: 2147483647, // max positive integer value 38: 2147483640, 39: 0x123B, // integer as hexadecimal 40: 0x12ab, 41: 0Xfff, 42: 0XFA, 43: -0x80000000, // max negative integer as hexadecimal 44: 0x7fffffff, // max postive integer as hexadecimal 45: 0x7FFFFFFF, // max postive integer as hexadecimal 46: 0123, // integer as octal 47: 01912, // should be quivalent to octal 1 48: -020000000000, // max negative integer as octal 49: 017777777777 // max positive integer as octal 50: ); 51: 52: $float_formats = array( "%f", "%hf", "%lf", "%Lf", " %f", "%f ", "% f", "\t%f", "\n%f", "%4f", "%30f", "%[0-9]", "%*f"); 53: 54: $counter = 1; 55: 56: // writing to the file 57: foreach($integer_values as $value) { 58: @fprintf($file_handle, $value); 59: @fprintf($file_handle, "\n"); 60: } 61: // closing the file 62: fclose($file_handle); 63: 64: // opening the file for reading 65: $file_handle = fopen($filename, "r"); 66: if($file_handle == false) { 67: exit("Error:failed to open file $filename"); 68: } 69: 70: $counter = 1; 71: // reading the values from file using different float formats 72: foreach($float_formats as $float_format) { 73: // rewind the file so that for every foreach iteration the file pointer starts from bof 74: rewind($file_handle); 75: echo "\n-- iteration $counter --\n"; 76: while( !feof($file_handle) ) { 77: var_dump( fscanf($file_handle,$float_format) ); 78: } 79: $counter++; 80: } 81: 82: echo "\n*** Done ***"; 83: ?> 84: --CLEAN-- 85: <?php 86: $file_path = dirname(__FILE__); 87: $filename = "$file_path/fscanf_variation9.tmp"; 88: unlink($filename); 89: ?> 90: --EXPECTF-- 91: *** Test fscanf(): different float format types with integer values *** 92: 93: -- iteration 1 -- 94: array(1) { 95: [0]=> 96: float(0) 97: } 98: array(1) { 99: [0]=> 100: float(1) 101: } 102: array(1) { 103: [0]=> 104: float(-1) 105: } 106: array(1) { 107: [0]=> 108: float(-2147483648) 109: } 110: array(1) { 111: [0]=> 112: float(-2147483647) 113: } 114: array(1) { 115: [0]=> 116: float(2147483647) 117: } 118: array(1) { 119: [0]=> 120: float(2147483640) 121: } 122: array(1) { 123: [0]=> 124: float(4667) 125: } 126: array(1) { 127: [0]=> 128: float(4779) 129: } 130: array(1) { 131: [0]=> 132: float(4095) 133: } 134: array(1) { 135: [0]=> 136: float(250) 137: } 138: array(1) { 139: [0]=> 140: float(-2147483648) 141: } 142: array(1) { 143: [0]=> 144: float(2147483647) 145: } 146: array(1) { 147: [0]=> 148: float(2147483647) 149: } 150: array(1) { 151: [0]=> 152: float(83) 153: } 154: array(1) { 155: [0]=> 156: float(1) 157: } 158: array(1) { 159: [0]=> 160: float(-2147483648) 161: } 162: array(1) { 163: [0]=> 164: float(2147483647) 165: } 166: bool(false) 167: 168: -- iteration 2 -- 169: array(1) { 170: [0]=> 171: float(0) 172: } 173: array(1) { 174: [0]=> 175: float(1) 176: } 177: array(1) { 178: [0]=> 179: float(-1) 180: } 181: array(1) { 182: [0]=> 183: float(-2147483648) 184: } 185: array(1) { 186: [0]=> 187: float(-2147483647) 188: } 189: array(1) { 190: [0]=> 191: float(2147483647) 192: } 193: array(1) { 194: [0]=> 195: float(2147483640) 196: } 197: array(1) { 198: [0]=> 199: float(4667) 200: } 201: array(1) { 202: [0]=> 203: float(4779) 204: } 205: array(1) { 206: [0]=> 207: float(4095) 208: } 209: array(1) { 210: [0]=> 211: float(250) 212: } 213: array(1) { 214: [0]=> 215: float(-2147483648) 216: } 217: array(1) { 218: [0]=> 219: float(2147483647) 220: } 221: array(1) { 222: [0]=> 223: float(2147483647) 224: } 225: array(1) { 226: [0]=> 227: float(83) 228: } 229: array(1) { 230: [0]=> 231: float(1) 232: } 233: array(1) { 234: [0]=> 235: float(-2147483648) 236: } 237: array(1) { 238: [0]=> 239: float(2147483647) 240: } 241: bool(false) 242: 243: -- iteration 3 -- 244: array(1) { 245: [0]=> 246: float(0) 247: } 248: array(1) { 249: [0]=> 250: float(1) 251: } 252: array(1) { 253: [0]=> 254: float(-1) 255: } 256: array(1) { 257: [0]=> 258: float(-2147483648) 259: } 260: array(1) { 261: [0]=> 262: float(-2147483647) 263: } 264: array(1) { 265: [0]=> 266: float(2147483647) 267: } 268: array(1) { 269: [0]=> 270: float(2147483640) 271: } 272: array(1) { 273: [0]=> 274: float(4667) 275: } 276: array(1) { 277: [0]=> 278: float(4779) 279: } 280: array(1) { 281: [0]=> 282: float(4095) 283: } 284: array(1) { 285: [0]=> 286: float(250) 287: } 288: array(1) { 289: [0]=> 290: float(-2147483648) 291: } 292: array(1) { 293: [0]=> 294: float(2147483647) 295: } 296: array(1) { 297: [0]=> 298: float(2147483647) 299: } 300: array(1) { 301: [0]=> 302: float(83) 303: } 304: array(1) { 305: [0]=> 306: float(1) 307: } 308: array(1) { 309: [0]=> 310: float(-2147483648) 311: } 312: array(1) { 313: [0]=> 314: float(2147483647) 315: } 316: bool(false) 317: 318: -- iteration 4 -- 319: array(1) { 320: [0]=> 321: float(0) 322: } 323: array(1) { 324: [0]=> 325: float(1) 326: } 327: array(1) { 328: [0]=> 329: float(-1) 330: } 331: array(1) { 332: [0]=> 333: float(-2147483648) 334: } 335: array(1) { 336: [0]=> 337: float(-2147483647) 338: } 339: array(1) { 340: [0]=> 341: float(2147483647) 342: } 343: array(1) { 344: [0]=> 345: float(2147483640) 346: } 347: array(1) { 348: [0]=> 349: float(4667) 350: } 351: array(1) { 352: [0]=> 353: float(4779) 354: } 355: array(1) { 356: [0]=> 357: float(4095) 358: } 359: array(1) { 360: [0]=> 361: float(250) 362: } 363: array(1) { 364: [0]=> 365: float(-2147483648) 366: } 367: array(1) { 368: [0]=> 369: float(2147483647) 370: } 371: array(1) { 372: [0]=> 373: float(2147483647) 374: } 375: array(1) { 376: [0]=> 377: float(83) 378: } 379: array(1) { 380: [0]=> 381: float(1) 382: } 383: array(1) { 384: [0]=> 385: float(-2147483648) 386: } 387: array(1) { 388: [0]=> 389: float(2147483647) 390: } 391: bool(false) 392: 393: -- iteration 5 -- 394: array(1) { 395: [0]=> 396: float(0) 397: } 398: array(1) { 399: [0]=> 400: float(1) 401: } 402: array(1) { 403: [0]=> 404: float(-1) 405: } 406: array(1) { 407: [0]=> 408: float(-2147483648) 409: } 410: array(1) { 411: [0]=> 412: float(-2147483647) 413: } 414: array(1) { 415: [0]=> 416: float(2147483647) 417: } 418: array(1) { 419: [0]=> 420: float(2147483640) 421: } 422: array(1) { 423: [0]=> 424: float(4667) 425: } 426: array(1) { 427: [0]=> 428: float(4779) 429: } 430: array(1) { 431: [0]=> 432: float(4095) 433: } 434: array(1) { 435: [0]=> 436: float(250) 437: } 438: array(1) { 439: [0]=> 440: float(-2147483648) 441: } 442: array(1) { 443: [0]=> 444: float(2147483647) 445: } 446: array(1) { 447: [0]=> 448: float(2147483647) 449: } 450: array(1) { 451: [0]=> 452: float(83) 453: } 454: array(1) { 455: [0]=> 456: float(1) 457: } 458: array(1) { 459: [0]=> 460: float(-2147483648) 461: } 462: array(1) { 463: [0]=> 464: float(2147483647) 465: } 466: bool(false) 467: 468: -- iteration 6 -- 469: array(1) { 470: [0]=> 471: float(0) 472: } 473: array(1) { 474: [0]=> 475: float(1) 476: } 477: array(1) { 478: [0]=> 479: float(-1) 480: } 481: array(1) { 482: [0]=> 483: float(-2147483648) 484: } 485: array(1) { 486: [0]=> 487: float(-2147483647) 488: } 489: array(1) { 490: [0]=> 491: float(2147483647) 492: } 493: array(1) { 494: [0]=> 495: float(2147483640) 496: } 497: array(1) { 498: [0]=> 499: float(4667) 500: } 501: array(1) { 502: [0]=> 503: float(4779) 504: } 505: array(1) { 506: [0]=> 507: float(4095) 508: } 509: array(1) { 510: [0]=> 511: float(250) 512: } 513: array(1) { 514: [0]=> 515: float(-2147483648) 516: } 517: array(1) { 518: [0]=> 519: float(2147483647) 520: } 521: array(1) { 522: [0]=> 523: float(2147483647) 524: } 525: array(1) { 526: [0]=> 527: float(83) 528: } 529: array(1) { 530: [0]=> 531: float(1) 532: } 533: array(1) { 534: [0]=> 535: float(-2147483648) 536: } 537: array(1) { 538: [0]=> 539: float(2147483647) 540: } 541: bool(false) 542: 543: -- iteration 7 -- 544: 545: Warning: fscanf(): Bad scan conversion character " " in %s on line %d 546: NULL 547: 548: Warning: fscanf(): Bad scan conversion character " " in %s on line %d 549: NULL 550: 551: Warning: fscanf(): Bad scan conversion character " " in %s on line %d 552: NULL 553: 554: Warning: fscanf(): Bad scan conversion character " " in %s on line %d 555: NULL 556: 557: Warning: fscanf(): Bad scan conversion character " " in %s on line %d 558: NULL 559: 560: Warning: fscanf(): Bad scan conversion character " " in %s on line %d 561: NULL 562: 563: Warning: fscanf(): Bad scan conversion character " " in %s on line %d 564: NULL 565: 566: Warning: fscanf(): Bad scan conversion character " " in %s on line %d 567: NULL 568: 569: Warning: fscanf(): Bad scan conversion character " " in %s on line %d 570: NULL 571: 572: Warning: fscanf(): Bad scan conversion character " " in %s on line %d 573: NULL 574: 575: Warning: fscanf(): Bad scan conversion character " " in %s on line %d 576: NULL 577: 578: Warning: fscanf(): Bad scan conversion character " " in %s on line %d 579: NULL 580: 581: Warning: fscanf(): Bad scan conversion character " " in %s on line %d 582: NULL 583: 584: Warning: fscanf(): Bad scan conversion character " " in %s on line %d 585: NULL 586: 587: Warning: fscanf(): Bad scan conversion character " " in %s on line %d 588: NULL 589: 590: Warning: fscanf(): Bad scan conversion character " " in %s on line %d 591: NULL 592: 593: Warning: fscanf(): Bad scan conversion character " " in %s on line %d 594: NULL 595: 596: Warning: fscanf(): Bad scan conversion character " " in %s on line %d 597: NULL 598: bool(false) 599: 600: -- iteration 8 -- 601: array(1) { 602: [0]=> 603: float(0) 604: } 605: array(1) { 606: [0]=> 607: float(1) 608: } 609: array(1) { 610: [0]=> 611: float(-1) 612: } 613: array(1) { 614: [0]=> 615: float(-2147483648) 616: } 617: array(1) { 618: [0]=> 619: float(-2147483647) 620: } 621: array(1) { 622: [0]=> 623: float(2147483647) 624: } 625: array(1) { 626: [0]=> 627: float(2147483640) 628: } 629: array(1) { 630: [0]=> 631: float(4667) 632: } 633: array(1) { 634: [0]=> 635: float(4779) 636: } 637: array(1) { 638: [0]=> 639: float(4095) 640: } 641: array(1) { 642: [0]=> 643: float(250) 644: } 645: array(1) { 646: [0]=> 647: float(-2147483648) 648: } 649: array(1) { 650: [0]=> 651: float(2147483647) 652: } 653: array(1) { 654: [0]=> 655: float(2147483647) 656: } 657: array(1) { 658: [0]=> 659: float(83) 660: } 661: array(1) { 662: [0]=> 663: float(1) 664: } 665: array(1) { 666: [0]=> 667: float(-2147483648) 668: } 669: array(1) { 670: [0]=> 671: float(2147483647) 672: } 673: bool(false) 674: 675: -- iteration 9 -- 676: array(1) { 677: [0]=> 678: float(0) 679: } 680: array(1) { 681: [0]=> 682: float(1) 683: } 684: array(1) { 685: [0]=> 686: float(-1) 687: } 688: array(1) { 689: [0]=> 690: float(-2147483648) 691: } 692: array(1) { 693: [0]=> 694: float(-2147483647) 695: } 696: array(1) { 697: [0]=> 698: float(2147483647) 699: } 700: array(1) { 701: [0]=> 702: float(2147483640) 703: } 704: array(1) { 705: [0]=> 706: float(4667) 707: } 708: array(1) { 709: [0]=> 710: float(4779) 711: } 712: array(1) { 713: [0]=> 714: float(4095) 715: } 716: array(1) { 717: [0]=> 718: float(250) 719: } 720: array(1) { 721: [0]=> 722: float(-2147483648) 723: } 724: array(1) { 725: [0]=> 726: float(2147483647) 727: } 728: array(1) { 729: [0]=> 730: float(2147483647) 731: } 732: array(1) { 733: [0]=> 734: float(83) 735: } 736: array(1) { 737: [0]=> 738: float(1) 739: } 740: array(1) { 741: [0]=> 742: float(-2147483648) 743: } 744: array(1) { 745: [0]=> 746: float(2147483647) 747: } 748: bool(false) 749: 750: -- iteration 10 -- 751: array(1) { 752: [0]=> 753: float(0) 754: } 755: array(1) { 756: [0]=> 757: float(1) 758: } 759: array(1) { 760: [0]=> 761: float(-1) 762: } 763: array(1) { 764: [0]=> 765: float(-214) 766: } 767: array(1) { 768: [0]=> 769: float(-214) 770: } 771: array(1) { 772: [0]=> 773: float(2147) 774: } 775: array(1) { 776: [0]=> 777: float(2147) 778: } 779: array(1) { 780: [0]=> 781: float(4667) 782: } 783: array(1) { 784: [0]=> 785: float(4779) 786: } 787: array(1) { 788: [0]=> 789: float(4095) 790: } 791: array(1) { 792: [0]=> 793: float(250) 794: } 795: array(1) { 796: [0]=> 797: float(-214) 798: } 799: array(1) { 800: [0]=> 801: float(2147) 802: } 803: array(1) { 804: [0]=> 805: float(2147) 806: } 807: array(1) { 808: [0]=> 809: float(83) 810: } 811: array(1) { 812: [0]=> 813: float(1) 814: } 815: array(1) { 816: [0]=> 817: float(-214) 818: } 819: array(1) { 820: [0]=> 821: float(2147) 822: } 823: bool(false) 824: 825: -- iteration 11 -- 826: array(1) { 827: [0]=> 828: float(0) 829: } 830: array(1) { 831: [0]=> 832: float(1) 833: } 834: array(1) { 835: [0]=> 836: float(-1) 837: } 838: array(1) { 839: [0]=> 840: float(-2147483648) 841: } 842: array(1) { 843: [0]=> 844: float(-2147483647) 845: } 846: array(1) { 847: [0]=> 848: float(2147483647) 849: } 850: array(1) { 851: [0]=> 852: float(2147483640) 853: } 854: array(1) { 855: [0]=> 856: float(4667) 857: } 858: array(1) { 859: [0]=> 860: float(4779) 861: } 862: array(1) { 863: [0]=> 864: float(4095) 865: } 866: array(1) { 867: [0]=> 868: float(250) 869: } 870: array(1) { 871: [0]=> 872: float(-2147483648) 873: } 874: array(1) { 875: [0]=> 876: float(2147483647) 877: } 878: array(1) { 879: [0]=> 880: float(2147483647) 881: } 882: array(1) { 883: [0]=> 884: float(83) 885: } 886: array(1) { 887: [0]=> 888: float(1) 889: } 890: array(1) { 891: [0]=> 892: float(-2147483648) 893: } 894: array(1) { 895: [0]=> 896: float(2147483647) 897: } 898: bool(false) 899: 900: -- iteration 12 -- 901: array(1) { 902: [0]=> 903: string(1) "0" 904: } 905: array(1) { 906: [0]=> 907: string(1) "1" 908: } 909: array(1) { 910: [0]=> 911: NULL 912: } 913: array(1) { 914: [0]=> 915: NULL 916: } 917: array(1) { 918: [0]=> 919: NULL 920: } 921: array(1) { 922: [0]=> 923: string(10) "2147483647" 924: } 925: array(1) { 926: [0]=> 927: string(10) "2147483640" 928: } 929: array(1) { 930: [0]=> 931: string(4) "4667" 932: } 933: array(1) { 934: [0]=> 935: string(4) "4779" 936: } 937: array(1) { 938: [0]=> 939: string(4) "4095" 940: } 941: array(1) { 942: [0]=> 943: string(3) "250" 944: } 945: array(1) { 946: [0]=> 947: NULL 948: } 949: array(1) { 950: [0]=> 951: string(10) "2147483647" 952: } 953: array(1) { 954: [0]=> 955: string(10) "2147483647" 956: } 957: array(1) { 958: [0]=> 959: string(2) "83" 960: } 961: array(1) { 962: [0]=> 963: string(1) "1" 964: } 965: array(1) { 966: [0]=> 967: NULL 968: } 969: array(1) { 970: [0]=> 971: string(10) "2147483647" 972: } 973: bool(false) 974: 975: -- iteration 13 -- 976: array(0) { 977: } 978: array(0) { 979: } 980: array(0) { 981: } 982: array(0) { 983: } 984: array(0) { 985: } 986: array(0) { 987: } 988: array(0) { 989: } 990: array(0) { 991: } 992: array(0) { 993: } 994: array(0) { 995: } 996: array(0) { 997: } 998: array(0) { 999: } 1000: array(0) { 1001: } 1002: array(0) { 1003: } 1004: array(0) { 1005: } 1006: array(0) { 1007: } 1008: array(0) { 1009: } 1010: array(0) { 1011: } 1012: bool(false) 1013: 1014: *** Done *** 1015: