Foros del Web » Programación para mayores de 30 ;) » C/C++ »

bugs del sprintf, o error de programación ?

Estas en el tema de bugs del sprintf, o error de programación ? en el foro de C/C++ en Foros del Web. estimados, les tiro a la palestra este trozo de codigo: #include <stdio.h> #include <string.h> int main() { char var[100]; strcpy(var,"hola"); sprintf(var,"%s mundo !!!!\n",var); printf("%s",var); return(0); ...
  #1 (permalink)  
Antiguo 02/06/2010, 20:42
Avatar de donyoyo  
Fecha de Ingreso: mayo-2010
Ubicación: Chile
Mensajes: 31
Antigüedad: 14 años, 6 meses
Puntos: 0
bugs del sprintf, o error de programación ?

estimados, les tiro a la palestra este trozo de codigo:

#include <stdio.h>
#include <string.h>

int main()
{
char var[100];

strcpy(var,"hola");
sprintf(var,"%s mundo !!!!\n",var);

printf("%s",var);
return(0);
}

solo mirando el codigo, sin compilar ni ejecutar, cual es el resultado ???
  #2 (permalink)  
Antiguo 03/06/2010, 11:00
 
Fecha de Ingreso: junio-2010
Ubicación: Madrid
Mensajes: 620
Antigüedad: 14 años, 6 meses
Puntos: 73
Respuesta: bugs del sprintf, o error de programación ?

Dado que estás utilizando la misma región de memoria (la apuntada por var) como fuente y como destino en la llamada a sprintf, el resultado final depende del compilador. Lo más probable es que imprima correctamente hola mundo !!!!, pero conviene tener cuidado con este tipo de cosas.

Saludos,
  #3 (permalink)  
Antiguo 05/06/2010, 09:20
 
Fecha de Ingreso: abril-2010
Ubicación: Rosario
Mensajes: 1.850
Antigüedad: 14 años, 8 meses
Puntos: 228
Respuesta: bugs del sprintf, o error de programación ?

Depende de la implementacion del sprintf, si usa un buffer adicional o no para generar el "string" y despues lo copia.

Etiquetas: bugs
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 02:28.