实现在命令行输入数字求和:
(1)在main函数中增加argc个数的判断
(2)将写死的数值改为argv[1]和argv[2],同时通过atoi()将argv字符串类型改为整型。
#include "ros/ros.h"
#include "plumbing_server_client/AddInts.h"
int main(int argc, char *argv[])
{
setlocale(LC_ALL,"");
if(argc !=3){
ROS_INFO("提交的参数个数不对。");
return 1;
}
ros::init(argc,argv,"dabao");
ros::NodeHandle nh;
ros::ServiceClient client=nh.serviceClient<plumbing_server_client::AddInts>("addInts");
plumbing_server_client::AddInts ai;
ai.request.num1 = atoi(argv[1]);
ai.request.num2 = atoi(argv[2]);
bool flag = client.call(ai);
if (flag)
{
ROS_INFO("响应成功!");
ROS_INFO("响应结果=%d",ai.response.sum);
}else{
ROS_INFO("处理失败!");
}
return 0;
}