如何使用单个char指针将float转换为字符串?

时间:2014-07-22 12:18:17

标签: c++ c pointers floating-point

我有这样的问题:

char *ptr;
float f1 = 12.34;

现在使用此char * ptr,我想将此float值转换为string,可以使用此指针“ptr”在printf中显示。

表示: 12.34 ==> “12.34”

我不需要使用任何其他指针或临时变量。我无法使用snprintf

2 个答案:

答案 0 :(得分:5)

OP标记了C ++,所以这里......

std::stringstream ss;
ss << f1;
std::string s = ss.str();
ptr = s.c_str();

答案 1 :(得分:1)

使用snprintf函数将float值转换为字符串。

使用sprintf函数将float值转换为字符串。还可以使用字段宽度来确保不会溢出目标数组。