to_string sprintf c++ integer char append

c++ - to_string - sprintf



Agregar un int a char* (3)

¿Cómo agregarías un entero a un char* en c ++?


Algo como:

width = floor(log10(num))+1; result = malloc(strlen(str)+len)); sprintf(result, "%s%*d", str, width, num);

Puede simplificar len utilizando la longitud máxima para un entero en su sistema.

editar ¡ Uy! No vi el "++". Aún así, es una alternativa.


Primero convierta el int a un char* usando sprintf() :

char integer_string[32]; int integer = 1234; sprintf(integer_string, "%d", integer);

Luego, para agregarlo a tu otro char *, usa strcat() :

char other_string[64] = "Integer: "; // make sure you allocate enough space to append the other string strcat(other_string, integer_string); // other_string now contains "Integer: 1234"


También puedes usar stringstreams.

char *theString = "Some string"; int theInt = 5; stringstream ss; ss << theString << theInt;

A continuación, se puede acceder a la ss.str(); usando ss.str();