#21877 [Ver]: fread may read less bytes than requested even if EOF is not reached ...
| From: | hholzgra@php.net | Date: | Tue, 28 Jan 2003 10:11:23 +0000 |
| Subject: | #21877 [Ver]: fread may read less bytes than requested even if EOF is not reached ... | ||
| References: | 1 | Groups: | php.doc |
| Request: | Send a blank email to phpdoc+get-969351370@lists.php.net to get a copy of this message | ||
ID: 21877
Updated by: hholzgra@php.net
Reported By: hholzgra@php.net
Status: Verified
Bug Type: Documentation problem
Operating System: *
PHP Version: 4CVS-2003-01-25 (stable)
Assigned To: hholzgra
New Comment:
i prefere the
while(!feof($f)) {
$c=fgetc($f);
...
}
style ...
Previous Comments:
------------------------------------------------------------------------
[2003-01-27 20:29:53] philip@php.net
Try this code instead:
$f = fopen("./foo","r");
while (false !== ($c = fgetc($f))) {
...
}
As this is really what you want to do ;) The documentation for fgetc()
really needs to mention this as most others that might encounter this
0==false do (such as readdir).
A documention problem is to do the following to the fgetc docs:
a) Add an example that keeps in mind false vs 0
b) Implement the &return.falseproblem; entity.
------------------------------------------------------------------------
[2003-01-27 19:53:30] gaelx@free.fr
here was my code:
$f=fopen("./foo","r");
while($c=fgetc($f)){
...
}
...and the 'while' loop was quit long before EOF was reached.
After examination, it was quit when a character 0 was read
(thus confusion between 0 and EOF.......)
------------------------------------------------------------------------
[2003-01-25 13:07:29] hholzgra@php.net
ok, it only true for non-blocking php streams ...
but still this should be mentioned on the fread() page
------------------------------------------------------------------------
[2003-01-25 12:56:17] hholzgra@php.net
i asume this not only true for C fread() but also for PHP ?
if so -> should be documented as such ...
------------------------------------------------------------------------
--
Edit this bug report at http://bugs.php.net/?id=21877&edit=1