Преобразование плавания для обугливания*

Как я могу преобразовать a float значение к char* в C язык?

14
задан Lorenzo Donati supports Monica 22 September 2013 в 19:57
поделиться

4 ответа

char buffer[64];
int ret = snprintf(buffer, sizeof buffer, "%f", myFloat);

if (ret < 0) {
    return EXIT_FAILURE;
}
if (ret >= sizeof buffer) {
    /* Result was truncated - resize the buffer and retry.
}

Это будет хранить строковое представление myFloat в myCharPointer . Однако убедитесь, что веревка достаточно велика, чтобы удерживать ее.

snprintf - лучший вариант, чем sprintf , поскольку он гарантирует, что никогда не будет записывать больше размера буфера, указанного в аргументе 2.

31
ответ дан 1 December 2019 в 06:15
поделиться
char array[10];
snprintf(array, sizeof(array), "%f", 3.333333);
0
ответ дан 1 December 2019 в 06:15
поделиться
char* str=NULL;
int len = asprintf(&str, "%g", float_var);
if (len == -1)
  fprintf(stderr, "Error converting float: %m\n");
else
  printf("float is %s\n", str);
free(str);
2
ответ дан 1 December 2019 в 06:15
поделиться
char array[10];
sprintf(array, "%f", 3.123);

sprintf : (из MSDN)

8
ответ дан 1 December 2019 в 06:15
поделиться
Другие вопросы по тегам:

Похожие вопросы: