Esto está mal:

sscanf(linea,"%[^','],%s%s",n1,n2)

Tenés un % sin el especificador "s" y luego le pasás dos argumentos cuando
hay tres % en el string de formato

"%[^',']s,%s%s", n1, n2, n3

====

Luego no tiene sentido que leas cadenas y luego las conviertas a entero
cuando la función sscanf() hace eso:

int n1, n2, n3;
sscanf(linea, "%d,%d %d", &n1, &n2, &n3);

Notá el espacio entre los dos últimos %d que puse dado que no sé cual es el
formato de la cadena a leer. Y cuidado en tu caso cuando ponés dos %s
seguidos ya que el primero va a leer hasta un espacio en blanco y el segundo
posiblemente nada (no recuerdo qué pasa si para un %s la cadena empieza en
un blanco.

On 9/14/07, virginia barros <[EMAIL PROTECTED]> wrote:
>
> Hola,
> Al compilar un programa me arroja el siguiente warning: "muy pocos
> argumentos para el formato"
> y lo marca en las lineas que utilizo la función sscanf.
> La utilizo de la siguiente manera (para separar una linea a partir de la
> coma por ej: 1,2--> n1=1 n2=2):
> sscanf(linea,"%[^','],%s%s",n1,n2)
> Donde tanto linea como n1 y n2 son arreglos de char que luego convierto a
> int con atoi.
>
> ¿Alguien sabría decirme cómo solucionar este warning?
> Desde ya muchas gracias,
> Saludos
> Virginia.
>
> ------------------------------
>
> El Mundial de Rugby 2007
> Las últimas noticias en Yahoo! Deportes:
> http://ar.sports.yahoo.com/mundialderugby
>
>
> _______________________________________________
> Lista de correo Programacion.
> [email protected]
> http://listas.fi.uba.ar/mailman/listinfo/programacion
>
>


-- 
_Leo_
(aka Lele)
_______________________________________________
Lista de correo Programacion.
[email protected]
http://listas.fi.uba.ar/mailman/listinfo/programacion

Responder a