0
我有一个指针指向字符串以下计算,我想该字符串转换成计算double类型数。但是,我不知道如果我的字符串是一个string
或char*
我是否访问由指针指向正确的字符串。下面是我的代码:转换串/字符将翻一番,与双
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
结果十位数左右。谁能帮忙?
你有 '%d' 而不是 '%LF'。 –