[C con Clase] sscanf
Steven Davidson
srd4121 en njit.edu
Lun Jul 16 21:17:50 CEST 2012
Hola José Luis,
On 7/16/2012 8:31 AM, José Luis Torre wrote:
> Hola:
>
> Estoy probando a realizar una serie de lecturas y en concreto no me
> funciona la siguiente:
>
> {
> char a[50];
> char c = 0;
> int importe=0;
>
> sscanf("Escuela Universitaria de Ingenieria Industrial|15001",
> "%[^|]s%c%d", a, &c, &importe);
> printf("%s;%c;importe==%d\n", a, c, importe);
>
> }
> Quiero leer espacios en blanco en la variable a (esto lo hace bien),
> pero no consigo que el carácter c lea el símbolo pipe e importe el
> siguiente valor numérico.
>
El problema es que colocas una 's' después del cierre del corchete.
Debería ser esto:
sscanf( "Escuela Universitaria de Ingenieria Industrial|15001",
"%[^|] %c %d", a, &c, &importe );
Ahora funcionará como quieres.
La otra solución es usar 'strtok()' para separar las cadenas que nos
interesan y luego manipularlas para obtener la información que queremos.
Espero haber aclarado la duda.
Steven
Más información sobre la lista de distribución Cconclase