我在网上看到的所有使用 sprintf 创建字符串的示例都使用大小固定的静态声明数组。
#include <stdio.h>
#include <math.h>
int main()
{
char str[80];
sprintf(str, "Value of Pi = %f", M_PI);
puts(str);
return(0);
}
我希望能够以最简单的方式使用动态大小的数组来做到这一点。我必须编写一些代码来打印组成数组的值:
printf("id=%s %s-array is: ", id.value(), name);
for (unsigned int i = 0; i < depths.size(); i++) {
printf("%f,", depths[i]);
}
printf("\n");
但我不想用单独的 printfs 来做这件事。我希望能够把它全部放在一个缓冲区中,该缓冲区适合我在运行时编写的字符串。我倾向于认为 sprintf 是做到这一点的最佳方式,但如果有其他函数我可以在 C++ 中使用。让我知道。