PHP 4.0 Bug #9302: Fallo en la funcion sscanf
| From: | strasbg at ole dot com | Date: | Fri, 16 Feb 2001 16:13:03 +0000 |
| Subject: | PHP 4.0 Bug #9302: Fallo en la funcion sscanf | ||
| Groups: | php.dev | ||
| Request: | Send a blank email to php-dev+get-46747@lists.php.net to get a copy of this message | ||
From: strasbg@ole.com
Operating system: linux
PHP version: 4.0.4pl1
PHP Bug Type: Strings related
Bug description: Fallo en la funcion sscanf
Hay un error en la funcion sscanf ya que no realiza
la lectura de datos segun el formato especificado.
Por ejemplo, consideremos el siguiente codigo:
<?php
// este script es una prueba del scanf
$str="hola;esto;es;una;prueba";
$a="";
$b="";
$c="";
$d="";
$e="";
sscanf($str,"%s;%s;%s;%s;%s",&$a,&$b,&$c,&$d,&$e);
echo $a.$b.$c.$d.$e;
?>
La salida seria la siguiente:
hola;esto;es;una;prueba
Por el contrario si usamos el siguiente
formato:
<?php
// este script es una prueba del scanf
$str="hola ; esto ; es ; una ; prueba";
$a="";
$b="";
$c="";
$d="";
$e="";
sscanf($str,"%s ; %s ; %s ; %s ;
%s",&$a,&$b,&$c,&$d,&$e);
echo $a.$b.$c.$d.$e;
?>
la salida es correcta:
holaestoesunaprueba
Se ve que la funcion sólo respeta
el formato si las zonas donde se
indica que comienza una variable
(en el codigo %(tipo_de_variable))
esta aislada, es decir, separada
con espacios del resto de los
caracteres del formato.
He realizado varias pruebas de lectura bajo
formatos especificos y no consigo que
la funcion responda segun las especificaciones.
Saludos desde cordoba
--
Edit Bug report at: http://bugs.php.net/?id=9302&edit=1