miércoles, 9 de julio de 2008

Siempre el más simple

Nunca uses sprintf para copiar strings. Usa strcpy.
¿Por qué?
1. Porque el string copiado podría contener cadenas de formato. Si esto sucede, sprintf buscará argumentos en el stack, y con toda seguridad encontrará algo. Ese algo puede ser bastante dañino.
2. Porque algunas implementaciones de sprintf (por ejemplo la incluida en las bibliotecas de tiempo de ejecución de Visual C++ 6, o las que se encuentran en Windows Mobile 5) tienen una restricción arbitraria a la longitud del segundo argumento de sprintf.
3. Porque sprintf tiene que analizar el string, por lo que tarda más.
¡Ah! Es la programación en C.

No hay comentarios: