我正在编写一个函数,它将以 void 指针的形式传递一个浮点数。我正在尝试做的是将该浮点数转换为等效的字符串,以便我可以将该二进制数据保存在内存中。例如对我的函数的调用如下:
void * f(void * data);
如果用户经过我
float value = 3.14;
我想将其转换为字符串,如下所示:
"3.14"
我认为我应该使用的方法是首先确定浮点数中的值的数量:3.14 = 四个值。然后我必须遍历每个值并将其转换为字符。
我遇到的几个问题是 1:我不确定是否甚至可以确定与给定浮点数关联的值的数量。2:如何将每个值转换为其等效的字符串?
我遇到了 itoa 和 sprintf。但是, itoa 不是标准 C 库的一部分,我不确定 sprintf 是否会按照我的意愿行事。