Использование float с sprintf () во встроенном C - PullRequest
25 голосов
/ 25 мая 2009

Ребята, я хочу знать, можно ли использовать float переменные в функции sprintf().

Как, если мы напишем:

sprintf(str,"adc_read = %d \n",adc_read);

где adc_read - целочисленная переменная, в ней будет храниться строка

"adc_read = 1023 \n"

в str (при условии, что adc_read = 1023)

Как я могу использовать переменную с плавающей точкой вместо целого числа?

Ответы [ 12 ]

0 голосов
/ 25 мая 2009

Да, используйте% f

0 голосов
/ 25 мая 2009

используйте модификатор %f:

sprintf (str, "adc_read = %f\n", adc_read);

Например:

#include <stdio.h>

int main (void) 
{
    float x = 2.5;
    char y[200];

    sprintf(y, "x = %f\n", x);
    printf(y);
    return 0;
}

Выходит так:

x = 2.500000

...