snprintf不适用于double。得到'?'

时间:2015-10-22 12:08:25

标签: c string double

我正在寻找在c中将双值显示为字符串的方法。但是使用snprintf我会得到问号而不是值。我的代码:

char temp[50];
double c = 19.15928891;

snprintf(temp, 8,"%lf", c);
putstring(-2, temp); //send characters to rs232 (here getting only '?')

有人能告诉我另一种显示双重字符串的方法吗?

编辑,希望现在问题还可以:)

1 个答案:

答案 0 :(得分:1)

尝试使用%f代替%lf。根据您的图书馆的年龄,%lf%f相同或错误(因此首先使用%f)。

另请注意,19.159289printf的结果)需要10个字节才能存储,而不是8个。