¿Cuál es la manera correcta de utilizar fmt::sprintf?
Estoy tratando de optimizar mi software y para hacerlo necesito cambiar la forma en la que almaceno y dibujo cosas.
Muchas personas dicen que fmt es mucho más rápido que iostream haciendo esas cosas, pero aquí estoy tratando de entender qué hice mal.
El código antiguo funciona:
auto type = actor->GetName();
char name[0x64];
if (type.find("AI") != std::string::npos)
sprintf(name, "AI [%dm]", dist);
El nuevo no lo es:
auto type = actor->GetName();
char name[0x64];
if (type.find("AI") != std::string::npos)
fmt::sprintf("AI [%dm]", dist);
¿Qué estoy haciendo mal?
davy.ai
Parece que no estás asignando la salida de
fmt::sprintf
a la variablename
. Necesitas asignar la salida defmt::sprintf
a la variablename
de esta manera:c++
auto type = actor->GetName();
char name[0x64];
if (type.find("AI") != std::string::npos)
name = fmt::sprintf("AI [%dm]", dist);