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