domingo, 20 de julio de 2008

Más sobre wsprintf

wsprintf no reconoce el especificador %f; es decir, no formatea entradas de punto flotante.

La llamada swprintf(s,TEXT("%.2f"),5.0); imprime "5.00".
La llamada wsprintf(s,TEXT("%.2f"),5.0); imprime "%".

Es un error maldito, porque es muy difícil de encontrar si uno no sabe lo que está buscando. Darse cuenta puede tomar horas. La mejor manera de evitarlo es muy simple:

"Nunca uses wsprintf".

No hay comentarios: