C - 如何将float变量添加到字符串

Gre*_*reg 0 c

我有一个包含浮点数的变量,如何将其添加到字符串中呢?

像这样的东西:

int main() {
    char postdata[] = "field1=";
    float mynumber = 123.12;
    postdata = postdata + mynumber;
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

我希望最终结果是"field1 = 123.1"

它似乎并不像postdata + mynumber一样容易:(

kol*_*kol 7

使用sprintf:

char buffer[32];
sprintf(buffer, "%s%f", postdata, mynumber);
Run Code Online (Sandbox Code Playgroud)

如果您需要一位数的精度:

char buffer[32];
sprintf(buffer, "%s%.1f", postdata, mynumber);
Run Code Online (Sandbox Code Playgroud)

是一个有效的例子.

  • 使用`snprintf`作为首选项,除非你想让自己容易受到缓冲区溢出错误的影响. (2认同)