问题描述:
使用c++写ros程序时把
cout << "我要显示的中文内容" << endl;
替换为
ROS_INF("我要显示的中文内容");
然后在终端的输出就变成了:
[ INFO] [1605083401.110091612]: ??????????????????????
解决办法:
编码有问题。解决方式是在ROS_INFO()函数前加入下面代码的任意一句即可:
setlocale(LC_CTYPE, "zh_CN.utf8");
setlocale(LC_ALL, "");

参考:https://blog.csdn.net/yourgreatfather/article/details/99941622