PHP 4.0 Bug #9302: Fallo en la funcion sscanf

From: 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

« previous php.dev (#46747) next »