C++
自带,不用标明数据的类型,可以直接输出,不过只能输出几种基本格式的数据。
C++自带。
typedef 重新定义数据格式后,std::cout是不能正常输出显示的,必须用printf()才能输出uint8_t类型的数据值,需要标明数据的类型。
printf()函数的调用格式为:
printf("<格式化字符串>", <参量表>);
// 1、整形
%d 有符号十进制整形
%ld 十进制长整形
%3d 位数为3,不足则在左边补空格
%u 无符号十进制整形
%lu 无符号十进制长整形
%x 无符号十六进制整形,如0x12
%lx 位数为4,不足则在左边补0,常用,如0x0012
// 2、实型
%f float型
%lf double型
m.n m指域宽,即所占的总的位数,包含小数点;n指精度,即小数的位数
%f 不指定宽度,整数部分全部输出,并输出6位小数
// 3、字符
%c 字符
// 4、字符串
%s 字符串
// 5、指针
%p 指针
比如:
int val = 86;
printf("val= %d, 字符= %c",val,val);
//val= 86, 字符= V
ROS2自带的log输出,分等级,带颜色,输出格式与printf相同,需要标明数据的类型。
RCLCPP_INFO(get_logger(),"val:%d",val);
>
将终端显示输出到指定文件中,而RCLCPP_INFO无法重定向;