我正在尝试将“ char **”传递给另一个函数(我要使用的函数需要该形式作为参数),但是我拥有的是双精度数组。
我一直在努力寻找某种方法来将双精度数转换为C字符串并收集或连接它们,但是...我正在四处寻找,除了编译器错误外,什么也没得到。
我会发布代码,但是这都不是垃圾。
有人碰巧知道如何采用7个双精度值并与它们一起获得char **吗?
最佳答案
如果您使用的是C,一种选择是分配char
缓冲区并调用snprintf()
以从双精度生成字符串值,就像您将字符串打印到控制台(例如,紧跟着"%f"
这样的格式字符串)按值)。
如果可以使用C ++,则std::ostringstream
类具有相似的效果(<sstream>
标头);您可以在其中输入<<
数值,调用str()
创建std::string
,最后在c_str()
对象上调用string
以获得char*
。可以将这些指针放入临时C数组中以生成char**
。