Использование sprintf
: http://www.cplusplus.com/reference/cstdio/sprintf/
Вот пример из справочника:
#include <stdio.h>
int main ()
{
char buffer [50];
int n, a=5, b=3;
n = sprintf(buffer, "%d plus %d is %d", a, b, a+b);
printf("[%s] is a string %d chars long\n", buffer, n);
return 0;
}
Выход:
[5 plus 3 is 8] is a string 13 chars long
Обновление на основе рекомендаций в комментариях:
Используйте snprintf
, поскольку он более безопасен (он предотвращает атаки переполнения буфера) и более переносим.
#include <stdio.h>
int main ()
{
int sizeOfBuffer = 50;
char buffer[sizeOfBuffer];
int n, a = 5, b = 3;
n = snprintf(buffer, sizeOfBuffer, "%d plus %d is %d", a, b, a+b);
printf ("[%s] is a string %d chars long\n", buffer, n);
return 0;
}
Обратите внимание, что второй аргумент snprintf
на самом деле является максимально допустимым размером, который можно использовать, поэтому вы можете установить для него более низкое значение, чем sizeOfBuffer
, однако для вашего случая это будет не нужно. snprintf
записывает только sizeOfBuffer-1
символов и использует последний байт для символа завершения.
Вот ссылка на документацию snprintf
: http://www.cplusplus.com/reference/cstdio/snprintf/