¿Cómo se formatean los especificadores de escritura “for” en español?
std::string x = "test %d test %d";
for (int i = 0; i < 2; i++)
{
x = x, 1;
}
printf(x);
std::string x = "test %d test %d"; // x can be changed. This is an example.
int index = 2; // index can be changed. This is an example.
for (int i = 0; i < index; i++)
{
test(x, i)
}
printf(x)
El código de ejemplo es el siguiente:
std::string x = "test %d test %d";
for (int i = 0; i < 2; i++)
{
x = x, 1;
}
printf(x);
El resultado de ejemplo es: test 1 test 512765712
Yo quiero: test 1 test 1
¿Cómo puedo hacer eso?
He cambiado la pregunta porque la gente no la entiende.
const char* Test(const char* testx, ...)
{
char tested[1024 + 1];
va_list args;
va_start(args, tested);
vsnprintf(tested, sizeof(tested), testx, args);
va_end(args);
const char* testx(tested);
return testx;
}
std::string x = "test %d test %d"; // x puede cambiar. Esto es un ejemplo.
int index = 2; // index puede cambiar. Esto es un ejemplo.
for (int i = 0; i < index; i++)
{
test(x, i)
}
printf(x);
Resultado: test 1 test 5125219
Yo quiero: test 0 test 1
davy.ai
Para obtener la salida deseada “test 0 test 1”, es necesario modificar el código en dos lugares:
Esto reemplazará el especificador de formato “%d” en la cadena con el valor de “i” como una cadena, lo que dará como resultado la salida deseada “test 0 test 1”.