Я думаю, это будет работать
#include <stdlib.h> // for itoa() call
#include <stdio.h> // for printf() call
int main() {
int num = 123;
char buf[5];
// convert 123 to string [buf]
itoa(num, buf, 10);
// print our string
printf("%s\n", buf);
return 0;
}
также вы можете использовать -
#include <stdio.h>
int main(void)
{
const char base[] = "filename";
char filename [ FILENAME_MAX ];
int number = 42;
sprintf(filename, "%s%d", base, number);
printf("filename = \"%s\"\n", filename);
return 0;
}
Хотя помните, что sprintf () не рассчитывает переполнение буфера. sprintf () не очищает файловый буфер, фактически с ним не связано ни одного буфера. sprintf () работает с символьным буфером (не совсем то же самое). Если вы переполните этот буфер, вы можете завершить работу системы.
Более безопасной версией sprintf () является snprintf (), которая, к сожалению, пока не очень стандартна. Он появляется в различных формах от многих поставщиков компиляторов и, наконец, был стандартизирован в C99 и, будем надеяться, станет частью стандарта C ++ в следующем стандарте C ++. До этого вам просто нужно выкопать нестандартную версию, если она у вас есть.