Perdón por molestar a todos, pero esto me está causando un poco de dolor. Aquí está el código:Luchando con sprintf ... ¿algo estúpido?
char buf[500];
sprintf(buf,"D:\\Important\\Calibration\\Results\\model_%i.xml",mEstimatingModelID);
mEstimatingModelID es un entero, que ocupa actualmente el valor 0.
bastante simple, pero la depuración muestra que esto está sucediendo:
0x0795f630 "n\Results\model_0.xml"
es decir, falta el comienzo de la cadena.
¿Alguna idea? Esto es simple, pero no puedo resolverlo.
Gracias!
¿Seguro que no es el depurador engañando? Pruebe una versión de depuración con optimizaciones desactivadas o, más fácil, imprima el valor de 'buf'. –
¿Cuándo está examinando el resultado: en esta función, o en algún momento después? No está devolviendo un puntero a "buf" de esta función, ¿verdad? Probablemente sepa esto, pero no puede devolver un puntero a una variable basada en pila de una función; la variable se convierte en basura tan pronto como la función retorna. –
Funciona de forma independiente en Ideone - http://www.ideone.com/wJJ6o, parece que su depurador está funcionando. –