我有一个指针指向的字符串,我想将该字符串转换为 double 类型的数字进行计算。但是,我不确定我的字符串是 astring
还是 achar*
以及我是否正确访问了指针指向的字符串。以下是我的代码:
void chatterCallback(const std_msgs::String::ConstPtr& msg)
{
ROS_INFO("I heard: [%s]", msg->data.c_str());
std::string str = msg->data;
ROS_INFO("I heard: [%s]", str.c_str());
double fmsg = std::atof(str.c_str());
ROS_INFO("I am making calculation: [%d]", fmsg+1.0);
}
double
无法识别类型,因此导致fmsg+1.0
十位左右的数字。有人可以帮忙吗?