说我有代码:为什么gdb中的print命令为C++ std :: strings返回 035?
std::string str = "random";
function(str);
void function (std::string str)
{
std::cout << str << std::endl;
}
如果我一步通过这个代码在gdb,然后进入功能,并做p str
它会打印出这样的事情\362\241
但COUT将输出到屏幕上正确字符串random
。如果有的话,有没有人看过这个,我该怎么办?我是否在gdb中使用了print命令,或者它与编译器如何解释字符串有关?
不\ 035解释为索引到ASCII表八进制三重? – evandrix 2011-01-28 16:02:00
我也在思考这些问题,但我无法弄清楚为什么,如何或如果这与问题有什么关系 – Grammin 2011-01-28 16:04:17
如何超集:http://stackoverflow.com/questions/11606048/pretty-printing -stl-containers-in-gdb – 2017-04-12 08:00:16