[C con Clase] Mascara para sscanf
Steven Richard Davidson
stevenrichard.davidson en gmail.com
Jue Ene 10 14:17:59 CET 2008
Hola Adrián,
On Jan 10, 2008 1:21 PM, Adrian Ferreres Esteller <raro82 en hotmail.com> wrote:
>
> Hola lista:
>
> Tengo un problema al leer cadenas con sscanf. Tengo un cadena de
> caracteres que tiene esta forma:
>
>
> hasaslfjkalfjaldfjalñfkaj?\nañlfjkañlfjañlfjafkljasfkl?\nafkljañlfjañlfjafdfljañlfjadflaj?\n
>
> Y tengo que separarlas por el interrogante. Lo que primero pense es utilizar
> sscanf de la siguiente manera:
Supongo que podrías usar 'sscanf()', pero sinceramente es mucho más
sencillo usar 'strtok()' que sirve precisamente para esto: separar
subcadenas en una cadena según criterios basados en caracteres a
buscar. Por ejemplo,
char *ptr = strtok( szCadena, "?\n" );
Hacer_Algo_Con( ptr );
while( ptr = strtok( 0, "?\n" ) )
Hacer_Algo_Con( ptr );
La función 'strtok()' realmente sustituye todos los caracteres
encontrados por caracteres nulos. De esta manera, al final,
obtendremos lo siguiente:
szCadena <-- hasaslfjkalfjaldfjalñfkaj\0\0añlfjkañlfjañlfjafkljasfkl\0\0afkljañlfjañlfjafdfljañlfjadflaj\0\0
Puedes consultar esta función en nuestra referencia yendo a:
http://c.conclase.net/librerias/funcion.php?fun=strtok
Espero que esto te sirva.
Steven
Más información sobre la lista de distribución Cconclase