~ubuntu-branches/ubuntu/quantal/php5/quantal

« back to all changes in this revision

Viewing changes to ext/standard/tests/file/fscanf_variation46.phpt

  • Committer: Bazaar Package Importer
  • Author(s): Sean Finney
  • Date: 2009-07-01 09:12:10 UTC
  • mto: (0.9.1) (1.1.17 upstream)
  • mto: This revision was merged to the branch mainline in revision 58.
  • Revision ID: james.westby@ubuntu.com-20090701091210-go0h6506p62on17r
Tags: upstream-5.3.0
ImportĀ upstreamĀ versionĀ 5.3.0

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
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